/* Player trading extends the shop's graphite/amber world; real card art is the content. */
#tab-player-market { max-width:760px; margin-inline:auto; padding:0 0 30px; color:var(--text); scroll-margin-top:90px; }
#tab-player-market.active { display:block; }
#tab-player-market [hidden] { display:none!important; }
#tab-player-market :is(button,input) { font:inherit; min-height:44px; border:1px solid var(--border); border-radius:12px; color:var(--text); background:var(--bg-card); padding:10px 12px; }
#tab-player-market button { cursor:pointer; }
#tab-player-market button:disabled { opacity:.5; cursor:default; }
#tab-player-market button:not(:disabled):hover { background:var(--bg-hover); }
#tab-player-market :is(button,input):focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
#tab-player-market input { width:100%; min-width:0; caret-color:var(--accent); }
#tab-player-market input::placeholder { color:var(--text-sub); opacity:1; }
#tab-player-market label { display:grid; gap:6px; color:var(--text-sub); font-size:13px; min-width:0; }
#tab-player-market ::selection { background:var(--accent); color:#16130c; }
.pm-top,.pm-heading,.pm-wallet,.pm-toolbar,.pm-section-head,.pm-lot-meta,.pm-pagination { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.pm-heading { align-items:flex-start; flex-direction:column; gap:5px; margin:22px 0 20px; }
.pm-heading h1 { font-family:var(--font-display); font-size:32px; font-weight:800; letter-spacing:-.02em; line-height:1.15; margin:0; }
.pm-heading p { margin:0; color:var(--text-sub); font-size:14px; }
.pm-wallet { justify-content:flex-start; flex-wrap:wrap; gap:8px 20px; margin-top:9px; font-variant-numeric:tabular-nums; font-weight:700; }
.pm-wallet span:first-child { color:var(--accent); }
.pm-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; border-bottom:1px solid var(--border); padding-bottom:12px; }
#tab-player-market .pm-tabs button { border:0; background:transparent; padding:8px 2px; font-size:13px; border-radius:8px; }
#tab-player-market .pm-tabs [aria-pressed="true"] { background:var(--accent-soft); color:var(--accent-hi); }
.pm-toolbar { margin-top:18px; }
.pm-search { flex:1; }
.pm-filters,.pm-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-block:12px; }
.pm-filters { position:relative; z-index:50; }
.pm-choice-label { position:relative; }
.pm-choice { position:relative; display:block; min-width:0; }
#tab-player-market .pm-choice-toggle { width:100%; display:flex; align-items:center; justify-content:space-between; gap:10px; text-align:left; }
.pm-choice-toggle svg { width:17px; height:17px; flex:0 0 auto; color:var(--text-sub); transition:transform .16s ease-out; }
.pm-choice-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
.pm-choice-menu { position:absolute; z-index:40; top:calc(100% + 6px); left:0; right:0; display:grid; max-height:232px; overflow:auto; padding:6px; border:1px solid var(--border-hot); border-radius:14px; background:var(--bg-card-2); box-shadow:0 18px 38px rgba(0,0,0,.48); scrollbar-color:var(--text-sub) var(--bg-card-2); }
.pm-choice-menu[hidden] { display:none; }
#tab-player-market .pm-choice-menu button { min-height:40px; padding:9px 10px; border:0; border-radius:9px; background:transparent; text-align:left; }
#tab-player-market .pm-choice-menu button[aria-selected="true"] { color:var(--accent-hi); background:var(--accent-soft); font-weight:700; }
#tab-player-market .pm-primary { background:var(--accent); color:#16130c; border-color:transparent; font-weight:700; }
#tab-player-market .pm-primary:not(:disabled):hover { background:var(--accent-hi); }
.pm-notice { font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
.pm-notice:empty { display:none; }
.pm-list[aria-busy="true"] { opacity:.65; }
.pm-lot { display:grid; grid-template-columns:92px minmax(0,1fr); gap:14px; padding:18px 0; border-bottom:1px solid var(--border); }
.pm-art { align-self:start; aspect-ratio:2/3; border-radius:12px; overflow:hidden; background:var(--bg-card-2); }
.pm-art img,.pm-pick-art img { width:100%; height:100%; object-fit:contain; display:block; }
.pm-art,.pm-pick-art,.pm-card-large-art,.pm-selected-art { position:relative; }
.pm-art img,.pm-pick-art img,.pm-card-large-art img,.pm-selected-art img { position:absolute; inset:0; background:var(--bg-card-2); }
.pm-art-fallback { display:grid; place-items:center; height:100%; font-family:var(--font-display); font-size:11px; color:var(--text-sub); }
#tab-player-market .pm-card-open { position:relative; width:100%; min-height:0; padding:0; border:0; color:var(--text); text-align:initial; }
#tab-player-market .pm-card-open:hover { background:var(--bg-card-2); }
.pm-card-open-hint { position:absolute; inset:auto 7px 7px; min-height:28px; display:grid; place-items:center; border-radius:8px; color:#f4f5f7; background:rgba(10,11,13,.82); font-size:10px; font-weight:750; opacity:0; transform:translateY(4px); transition:opacity .16s ease-out,transform .16s ease-out; }
.pm-card-open:hover .pm-card-open-hint,.pm-card-open:focus-visible .pm-card-open-hint { opacity:1; transform:translateY(0); }
.pm-lot-meta { align-items:start; font-size:11px; color:var(--text-sub); line-height:1.4; gap:8px; }
.pm-lot-meta span:first-child { min-width:0; overflow-wrap:anywhere; }
.pm-lot-meta span:last-child { flex-shrink:0; }
.pm-lot h2 { font-size:18px; line-height:1.25; margin:5px 0; overflow-wrap:anywhere; }
.pm-lot p { color:var(--text-sub); font-size:12px; line-height:1.4; margin:4px 0 10px; overflow-wrap:anywhere; }
.pm-price { display:block; font-size:18px; font-variant-numeric:tabular-nums; }
.pm-lot-action { margin-top:12px; display:grid; gap:8px; }
.pm-leading { color:var(--teal); font-size:13px; }
.pm-note { font-size:13px; line-height:1.5; color:var(--text-sub); }
.pm-pagination { justify-content:center; margin-top:18px; font-size:13px; }
.pm-empty { padding:28px 6px; text-align:center; }
.pm-empty h2 { font-size:19px; margin:0 0 8px; }
.pm-empty p { margin:0; color:var(--text-sub); line-height:1.5; }
.pm-create { padding-block:20px; border-block:1px solid var(--border); margin-top:20px; scroll-margin-top:12px; }
.pm-section-head h2 { font-size:20px; margin:0; }
.pm-catalog { display:grid; grid-template-columns:minmax(0,1fr); gap:0; padding:0; border-top:1px solid var(--border); }
#tab-player-market .pm-catalog button { padding:12px 0; border:0; border-bottom:1px solid var(--border); border-radius:0; background:transparent; font-size:12px; line-height:1.3; overflow-wrap:anywhere; display:grid; grid-template-columns:54px minmax(0,1fr) 24px; align-items:center; gap:14px; text-align:left; }
.pm-pick-copy { display:grid; gap:4px; min-width:0; }
.pm-pick-copy strong { font-size:14px; }
.pm-pick-copy :is(span,small) { color:var(--text-sub); font-size:11px; }
.pm-pick-check { color:var(--accent); font-size:20px; }
#tab-player-market .pm-catalog [aria-pressed="true"] { border-color:var(--accent); background:var(--accent-soft); }
.pm-pick-art { display:block; width:100%; aspect-ratio:2/3; overflow:hidden; border-radius:6px; background:var(--bg-card-2); }
.pm-selected { padding:14px 0 0; font-size:14px; font-weight:700; }
.pm-submit { width:100%; margin-top:12px; }
.pm-rules { margin-top:28px; color:var(--text-sub); font-size:13px; line-height:1.6; }
.pm-rules summary { cursor:pointer; min-height:44px; padding:10px 0; text-underline-offset:4px; }
.pm-card-sheet { position:fixed; z-index:10020; inset:0; display:grid; align-items:end; padding:16px max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); }
.pm-card-sheet[hidden] { display:none; }
#tab-player-market .pm-card-backdrop { position:absolute; inset:0; width:100%; height:100%; min-height:0; padding:0; border:0; border-radius:0; background:rgba(4,5,6,.78); }
#tab-player-market .pm-card-backdrop:hover { background:rgba(4,5,6,.78); }
.pm-card-panel { position:relative; width:min(100%,480px); max-height:min(720px,calc(100dvh - 32px)); margin:0 auto; overflow:auto; padding:18px; border:1px solid rgba(255,255,255,.1); border-radius:16px; color:var(--text); background:#15181c; box-shadow:0 24px 60px rgba(0,0,0,.62); animation:pm-sheet-in .22s cubic-bezier(.16,1,.3,1); }
.pm-card-panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:16px; }
.pm-card-panel-head span { color:var(--text-sub); font-size:12px; }
.pm-card-panel-head h2 { margin:3px 0 0; font:800 24px/1.1 var(--font-display); letter-spacing:-.02em; }
#tab-player-market .pm-card-close { width:44px; min-height:44px; padding:0; font-size:25px; line-height:1; }
.pm-card-profile { display:grid; grid-template-columns:minmax(112px,42%) minmax(0,1fr); gap:14px; align-items:stretch; }
.pm-card-large-art { aspect-ratio:2/3; overflow:hidden; border-radius:13px; background:var(--bg-card-2); }
.pm-card-large-art img { width:100%; height:100%; object-fit:contain; display:block; }
.pm-card-large-art .pm-art-fallback { min-height:220px; }
.pm-card-stats { display:grid; align-content:stretch; margin:0; border-block:1px solid var(--border); }
.pm-card-stats div { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 0; border-bottom:1px solid var(--border); }
.pm-card-stats div:last-child { border-bottom:0; }
.pm-card-stats dt { color:var(--text-sub); font-size:12px; }
.pm-card-stats dd { margin:0; max-width:60%; overflow-wrap:anywhere; text-align:right; font-size:13px; font-weight:750; }
.pm-card-stats .pm-attack { color:var(--accent-hi); }
.pm-card-stats .pm-health { color:var(--teal,#2fd3a7); }
.pm-card-offer { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:1px; margin-top:14px; overflow:hidden; border:1px solid var(--border); border-radius:13px; background:var(--border); }
.pm-card-offer div { min-width:0; padding:11px; background:var(--bg-card); }
.pm-card-offer span,.pm-card-offer strong { display:block; }
.pm-card-offer span { color:var(--text-sub); font-size:10px; }
.pm-card-offer strong { margin-top:4px; overflow-wrap:anywhere; font-size:12px; font-variant-numeric:tabular-nums; }
@keyframes pm-sheet-in { from { opacity:.5; transform:translateY(28px); } }
.pm-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(min-width:600px) { .pm-lot { grid-template-columns:120px minmax(0,1fr); gap:20px; } .pm-lot-action { max-width:300px; } }
#tab-player-market.pm-composing > :is(.pm-heading,.pm-tabs,.pm-toolbar,.pm-filters,.pm-list,#pm-pagination,.pm-rules) { display:none; }
#tab-player-market.pm-composing .pm-create { margin-top:16px; border-top:0; padding-top:0; }
#tab-player-market.pm-composing .pm-top { display:none; }
#tab-player-market.pm-composing .pm-section-head { margin-bottom:18px; }
#tab-player-market.pm-composing .pm-section-head h2 { font-size:24px; letter-spacing:-.02em; }
#tab-player-market.pm-composing .pm-section-head button { border:0; background:transparent; color:var(--text-sub); font-size:13px; padding:8px; }
#tab-player-market.pm-composing #pm-card-search { font-size:16px; }
#tab-player-market.pm-composing .pm-fields { margin-block:16px; }
.pm-selected-art { display:block; width:62px; aspect-ratio:2/3; overflow:hidden; border-radius:7px; background:var(--bg-card-2); }
.pm-selected-art img { width:100%; height:100%; object-fit:contain; }
#tab-player-market .pm-selected { display:grid; grid-template-columns:62px minmax(0,1fr) 20px; align-items:center; gap:14px; }
.pm-selected strong,.pm-selected small { display:block; }
.pm-selected strong { margin-block:5px; color:var(--text); font-size:17px; }
.pm-selected small { color:var(--text-sub); font-size:12px; font-weight:400; }
#tab-player-market #pm-change-card { margin-bottom:16px; width:100%; background:transparent; }
#tab-player-market.pm-composing { padding-bottom:calc(110px + env(safe-area-inset-bottom)); }
#tab-player-market .pm-selected { color:var(--accent); padding-block:12px; }
#tab-player-market #pm-terms { border-top:1px solid var(--border); }
.picker-dropdown .trade-card-option { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 12px; width:100%; min-height:64px; padding:12px; border:0; border-bottom:1px solid var(--border); background:var(--bg-card); color:var(--text); text-align:left; cursor:pointer; }
.trade-card-option strong { font-size:14px; overflow-wrap:anywhere; }
.trade-card-option small { color:var(--text-sub); font-size:11px; grid-column:1 / -1; }
.trade-card-option:hover,.trade-card-option:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
@media(max-width:360px) { .pm-card-profile { grid-template-columns:108px minmax(0,1fr); } .pm-card-offer { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:no-preference) { .pm-lot-action button { transition:background-color .16s ease-out; } }
@media(prefers-reduced-motion:reduce) { .pm-card-panel { animation:none; } .pm-card-open-hint { transition:none; } }
