/* FMMSC Player Card v3.8.1 — clean poster-style progression
 * One clean stylesheet. No legacy tier overrides, no hidden formula tooltip CSS,
 * no top branding block, no decorative node/gem artifacts.
 */
:root {
    --pc-navy:#07182d;
    --pc-navy-2:#0d2947;
    --pc-gold:#d59816;
    --pc-gold-soft:#f5c857;
    --pc-ink:#111827;
    --pc-paper:#f7f8fa;
}

.player-card-page-hero { padding-bottom:36px; }
.player-card-page { background:#eef2f6; color:var(--pc-ink); padding:32px 0 72px; color-scheme:light; }
.player-card-page * { box-sizing:border-box; }
.player-card-page .voice-section-label { color:#8a5a05; }

.player-card-setup-grid,
.player-card-dashboard { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr); gap:28px; align-items:start; }
.player-card-panel { background:#fff; color:var(--pc-ink); border:1px solid #dfe5eb; border-radius:24px; padding:24px; box-shadow:0 16px 42px rgba(7,24,45,.08); }
.player-card-heading { margin-bottom:20px; }
.player-card-heading > span { color:#9a670e; font-size:.72rem; font-weight:900; letter-spacing:.14em; }
.player-card-heading h2 { margin:5px 0 6px; color:var(--pc-ink); font-size:clamp(1.35rem,3vw,2rem); }
.player-card-heading p { margin:0; color:#5e6875; line-height:1.6; }

.player-card-form { display:grid; gap:20px; }
.player-card-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.player-card-form label { display:grid; gap:7px; color:#263444; font-weight:800; }
.player-card-form label > span { font-size:.86rem; }
.player-card-form input,
.player-card-form select { width:100%; min-height:48px; border:1px solid #cfd8e3; border-radius:13px; background:#fff; color:#111827; padding:10px 12px; font:inherit; font-size:16px; }
.player-card-form input:focus,
.player-card-form select:focus { outline:3px solid rgba(213,152,22,.17); border-color:#d59816; }
.player-card-form small { color:#697586; font-weight:500; line-height:1.45; }

.player-card-position-picker { min-width:0; margin:0; padding:16px; border:1px solid #dfe5eb; border-radius:16px; }
.player-card-position-picker--wide { grid-column:1 / -1; }
.player-card-position-picker legend { padding:0 8px; color:#172231; font-weight:900; }
.player-card-position-options { display:flex; flex-wrap:wrap; gap:9px; }
.player-card-position-option { position:relative; display:inline-flex !important; width:auto; }
.player-card-position-option > input { position:absolute; width:1px !important; min-height:1px !important; height:1px; margin:0; padding:0; opacity:0; pointer-events:none; }
.player-card-position-chip { min-width:52px; padding:9px 12px; border:1px solid #d2dbe5; border-radius:999px; background:#f7f9fb; color:#354151; font-size:.82rem !important; font-weight:950; line-height:1.2; text-align:center; cursor:pointer; transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease; }
.player-card-position-option:hover .player-card-position-chip { transform:translateY(-1px); border-color:#b89a52; box-shadow:0 5px 14px rgba(7,24,45,.10); }
.player-card-position-option > input:focus-visible + .player-card-position-chip { outline:3px solid rgba(213,152,22,.20); outline-offset:2px; }
.player-card-position-option > input:checked + .player-card-position-chip { border-color:var(--pc-navy); background:var(--pc-navy); color:#fff; box-shadow:inset 0 0 0 1px rgba(245,200,87,.22); }
.player-card-position-note { display:block; margin-top:12px; color:#697586; font-size:.78rem; font-weight:500; line-height:1.5; }

.player-card-attribute-editor { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; }
.player-card-attribute-editor label { gap:5px; text-align:center; }
.player-card-attribute-editor label > span { color:#8a5a05; font-weight:950; letter-spacing:.06em; }
.player-card-attribute-editor input { min-width:0; text-align:center; font-weight:950; font-size:1.05rem; padding-inline:5px; }

.player-card-budget,
.player-card-upgrade-cost,
.player-card-respec-budget { display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px; padding:15px 17px; border-radius:15px; background:#f7f2e7; border:1px solid #ead8ad; color:#3d2a08; }
.player-card-budget > span,
.player-card-upgrade-cost > span,
.player-card-respec-budget > span { font-weight:800; }
.player-card-budget strong,
.player-card-upgrade-cost strong,
.player-card-respec-budget strong { margin-left:auto; font-size:1.22rem; }
.player-card-budget small,
.player-card-upgrade-cost small,
.player-card-respec-budget small { width:100%; color:#745a23; }
.player-card-budget.is-over,
.player-card-respec-budget.is-invalid { background:#fff0ef; border-color:#efb4ad; color:#8f281c; }
.player-card-budget.is-ready,
.player-card-respec-budget.is-ready { background:#ecf8ef; border-color:#b7ddc2; color:#1e6a36; }

.player-card-concept { min-height:440px; border-radius:28px; padding:34px; display:grid; align-content:center; justify-items:center; text-align:center; background:radial-gradient(circle at 50% 20%,#173d66,#07182d 62%); color:#fff; box-shadow:0 22px 55px rgba(7,24,45,.2); overflow:hidden; position:relative; }
.player-card-concept::before { content:""; position:absolute; inset:-25%; background:repeating-conic-gradient(from 20deg,rgba(245,200,87,.09) 0 8deg,transparent 8deg 25deg); }
.player-card-concept img { width:120px; position:relative; z-index:1; }
.player-card-concept strong { margin-top:22px; font-size:1.45rem; position:relative; z-index:1; }
.player-card-concept p { max-width:36ch; color:rgba(255,255,255,.72); line-height:1.6; position:relative; z-index:1; }

.player-card-stage { min-width:0; display:grid; place-items:center; padding:20px 0; }
.player-card-side { display:grid; gap:20px; }
.player-card-development-summary { background:var(--pc-navy); color:#fff; border-color:rgba(245,200,87,.28); }
.player-card-development-summary .voice-section-label { color:var(--pc-gold-soft); }
.player-card-development-summary p { color:rgba(255,255,255,.7); margin:16px 0 0; line-height:1.55; }
.player-card-dp-numbers { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.player-card-dp-numbers > div { padding:14px 8px; border:1px solid rgba(255,255,255,.12); border-radius:15px; background:rgba(255,255,255,.06); text-align:center; }
.player-card-dp-numbers strong { display:block; color:#fff; font-size:1.5rem; }
.player-card-dp-numbers span { display:block; margin-top:3px; color:rgba(255,255,255,.58); font-size:.76rem; }
.player-card-upgrade-panel,
.player-card-ledger,
.player-card-respec-panel { margin-top:28px; }
.player-card-respec-panel { border-color:#d6c48d; }
.player-card-respec-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.player-card-respec-note { display:block; color:#697586; line-height:1.5; }

.player-card-photo-editor { display:grid; grid-template-columns:112px minmax(0,1fr); gap:16px; align-items:center; padding:16px; border:1px solid #dfe5eb; border-radius:18px; background:#f8fafc; }
.player-card-photo-preview { width:112px; aspect-ratio:3/4; border-radius:18px; overflow:hidden; display:grid; place-items:center; background:linear-gradient(145deg,#12283f,#07182d); color:#f5c857; border:1px solid rgba(7,24,45,.16); box-shadow:0 10px 24px rgba(7,24,45,.12); }
.player-card-photo-preview span { font-size:.72rem; font-weight:950; letter-spacing:.18em; }
.player-card-photo-preview img { width:100%; height:100%; object-fit:cover; object-position:center 22%; }
.player-card-photo-control { min-width:0; }
.player-card-photo-control > span { display:flex; align-items:baseline; gap:6px; }
.player-card-photo-control > span small { color:#7c8795; font-weight:600; }
.player-card-photo-control input[type="file"] { padding:9px; background:#fff; }
.player-card-photo-remove { grid-column:2; display:flex !important; grid-template-columns:auto 1fr !important; align-items:center; gap:9px !important; color:#8a3128 !important; font-size:.83rem; }
.player-card-photo-remove input { width:18px !important; min-height:18px !important; height:18px; margin:0; }

.player-card-save-actions { width:min(100%,390px); margin:14px auto 0; display:grid; gap:8px; }
.player-card-save-actions .voice-primary-button { width:100%; min-height:48px; }
.player-card-save-actions small { color:#667385; font-size:.78rem; line-height:1.45; text-align:center; }
.player-card-save-actions button:disabled { opacity:.68; cursor:wait; }

.player-card-ledger-list { display:grid; gap:10px; }
.player-card-ledger-row { display:flex; align-items:center; gap:18px; justify-content:space-between; padding:14px 0; border-bottom:1px solid #e8edf2; }
.player-card-ledger-row:last-child { border-bottom:0; }
.player-card-ledger-row > div { min-width:0; display:grid; gap:3px; }
.player-card-ledger-row strong { color:#172231; }
.player-card-ledger-row span { color:#697586; font-size:.82rem; line-height:1.45; }
.player-card-ledger-row > b { white-space:nowrap; color:#16713a; font-size:1.05rem; }
.player-card-ledger-row > b.is-negative { color:#b33426; }
.player-card-ledger-empty { color:#697586; padding:14px 0; }
.player-development-inline { margin:24px 0; }
.player-development-inline .fmmsc-player-card { margin-inline:auto; }
.player-card-inline-note { margin-top:14px; text-align:center; color:#697586; font-size:.86rem; }

/* =========================================================
   PLAYER CARD — CLEAN POSTER LANGUAGE
   ========================================================= */
.fmmsc-player-card {
    --card-text:#fff;
    --card-muted:rgba(255,255,255,.74);
    --card-line:rgba(255,255,255,.22);
    --card-accent:#f5c857;
    --card-edge:#f5c857;
    position:relative;
    width:min(100%,390px);
    aspect-ratio:390 / 542;
    overflow:hidden;
    color:var(--card-text);
    isolation:isolate;
    box-shadow:0 30px 74px rgba(7,24,45,.28);
    font-variant-numeric:tabular-nums;
    transform:translateZ(0);
}
.fmmsc-player-card::before,
.fmmsc-player-card::after,
.fmmsc-player-card__ornament { content:""; position:absolute; inset:0; pointer-events:none; }
.fmmsc-player-card::before { z-index:-4; }
.fmmsc-player-card::after { z-index:-2; }
.fmmsc-player-card__ornament { z-index:-1; }

/* Different silhouette per tier. Content safe-zone remains centered. */
.fmmsc-player-card--bronze {
    clip-path:polygon(8% 4%,18% 0,38% 3%,50% 0,62% 3%,82% 0,92% 4%,100% 15%,97% 83%,90% 93%,76% 98%,50% 100%,24% 98%,10% 93%,3% 83%,0 15%);
    --card-text:#fff8ef; --card-muted:rgba(255,240,224,.75); --card-line:rgba(255,213,177,.24); --card-accent:#f2b47b; --card-edge:#c78050;
    background:linear-gradient(145deg,#2a1710 0%,#6f4129 35%,#9e6745 59%,#44251a 100%);
}
.fmmsc-player-card--bronze::before {
    background:repeating-linear-gradient(128deg,transparent 0 19px,rgba(255,255,255,.035) 19px 21px),linear-gradient(118deg,transparent 0 58%,rgba(244,178,119,.22) 59% 61%,transparent 62%);
}
.fmmsc-player-card--bronze::after { inset:8px; border:1px solid rgba(255,214,179,.24); clip-path:inherit; }
.fmmsc-player-card--bronze .fmmsc-player-card__ornament { background:linear-gradient(28deg,transparent 0 34%,rgba(0,0,0,.12) 35% 36%,transparent 37% 66%,rgba(255,255,255,.07) 67% 68%,transparent 69%); }

.fmmsc-player-card--silver {
    clip-path:polygon(10% 8%,28% 8%,35% 2%,44% 7%,50% 1%,56% 7%,65% 2%,72% 8%,90% 8%,100% 18%,97% 84%,89% 94%,72% 99%,50% 100%,28% 99%,11% 94%,3% 84%,0 18%);
    --card-text:#17202b; --card-muted:rgba(23,32,43,.64); --card-line:rgba(23,32,43,.16); --card-accent:#526172; --card-edge:#e6ebef;
    background:linear-gradient(110deg,#8f99a4 0%,#f6f7f7 20%,#b5bdc6 43%,#fbfbf8 68%,#8d99a6 100%);
}
.fmmsc-player-card--silver::before { background:repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 1px,rgba(22,32,43,.028) 1px 3px),linear-gradient(130deg,transparent 0 31%,rgba(255,255,255,.42) 32%,transparent 33% 68%,rgba(30,42,54,.08) 69%,transparent 70%); }
.fmmsc-player-card--silver::after { inset:8px; border:1px solid rgba(21,34,47,.18); clip-path:inherit; }
.fmmsc-player-card--silver .fmmsc-player-card__ornament { background:linear-gradient(155deg,transparent 0 50%,rgba(35,48,62,.07) 51% 52%,transparent 53%); }

.fmmsc-player-card--gold {
    clip-path:polygon(7% 14%,18% 14%,24% 4%,32% 13%,40% 9%,50% 0,60% 9%,68% 13%,76% 4%,82% 14%,93% 14%,100% 22%,97% 84%,90% 94%,76% 99%,50% 100%,24% 99%,10% 94%,3% 84%,0 22%);
    --card-text:#2d2208; --card-muted:rgba(45,34,8,.67); --card-line:rgba(58,42,5,.18); --card-accent:#5c4107; --card-edge:#ffe58c;
    background:radial-gradient(circle at 50% 33%,#fff2a8 0 10%,#efc745 34%,#d39b14 67%,#7b5205 100%);
}
.fmmsc-player-card--gold::before { inset:-42%; background:repeating-conic-gradient(from 8deg,rgba(255,255,255,.20) 0 5deg,transparent 5deg 17deg); }
.fmmsc-player-card--gold::after { inset:8px; border:1px solid rgba(255,247,196,.55); clip-path:inherit; }
.fmmsc-player-card--gold .fmmsc-player-card__ornament { background:radial-gradient(circle at 50% 4%,rgba(255,255,255,.48),transparent 17%),linear-gradient(125deg,transparent 0 22%,rgba(255,255,255,.12) 23%,transparent 24% 76%,rgba(90,61,4,.08) 77%,transparent 78%); }

.fmmsc-player-card--elite {
    clip-path:polygon(6% 8%,20% 8%,26% 2%,34% 7%,43% 0,51% 6%,61% 1%,69% 7%,91% 5%,100% 17%,96% 29%,100% 39%,95% 51%,100% 78%,91% 91%,76% 98%,50% 100%,24% 98%,9% 91%,0 78%,5% 51%,0 39%,4% 29%,0 17%);
    --card-text:#fff; --card-muted:rgba(255,255,255,.72); --card-line:rgba(247,198,85,.24); --card-accent:#f2c24f; --card-edge:#e4b23b;
    background:linear-gradient(155deg,#06090d 0 44%,#151d25 44% 61%,#05070a 61% 100%);
}
.fmmsc-player-card--elite::before { background:linear-gradient(161deg,transparent 0 31%,rgba(213,152,22,.26) 32% 41%,transparent 42%),linear-gradient(24deg,transparent 0 62%,rgba(255,255,255,.055) 63% 64%,transparent 65%); }
.fmmsc-player-card--elite::after { inset:8px; border:1px solid rgba(245,200,87,.32); clip-path:inherit; }
.fmmsc-player-card--elite .fmmsc-player-card__ornament { background:linear-gradient(71deg,transparent 0 19%,rgba(245,200,87,.15) 20% 21%,transparent 22% 74%,rgba(245,200,87,.11) 75% 76%,transparent 77%); }

.fmmsc-player-card--world-class {
    clip-path:polygon(50% 0,61% 3%,72% 2%,88% 8%,97% 19%,100% 40%,97% 82%,87% 94%,72% 99%,50% 100%,28% 99%,13% 94%,3% 82%,0 40%,3% 19%,12% 8%,28% 2%,39% 3%);
    --card-text:#fff; --card-muted:rgba(224,244,255,.74); --card-line:rgba(127,220,255,.25); --card-accent:#73d7ff; --card-edge:#8be0ff;
    background:radial-gradient(circle at 53% 34%,#245f90 0 5%,#0b3156 35%,#041522 76%,#020a12 100%);
}
.fmmsc-player-card--world-class::before { width:330px; height:330px; inset:auto; left:50%; top:34%; transform:translate(-50%,-50%); border:2px solid rgba(139,224,255,.20); border-radius:50%; box-shadow:0 0 0 28px rgba(139,224,255,.052),0 0 0 62px rgba(139,224,255,.03),0 0 42px rgba(78,181,231,.18); }
.fmmsc-player-card--world-class::after { inset:8px; border:1px solid rgba(139,224,255,.33); clip-path:inherit; }
.fmmsc-player-card--world-class .fmmsc-player-card__ornament { background:linear-gradient(124deg,transparent 0 18%,rgba(255,255,255,.10) 19%,transparent 20% 71%,rgba(115,215,255,.12) 72%,transparent 73%); }

.fmmsc-player-card--legendary {
    clip-path:polygon(7% 15%,14% 8%,27% 8%,34% 3%,42% 7%,50% 0,58% 7%,66% 3%,73% 8%,86% 8%,93% 15%,100% 24%,97% 82%,91% 92%,80% 98%,50% 100%,20% 98%,9% 92%,3% 82%,0 24%);
    --card-text:#fff8e7; --card-muted:rgba(255,232,194,.75); --card-line:rgba(245,204,106,.28); --card-accent:#f3cc69; --card-edge:#f2c75d;
    background:linear-gradient(160deg,#320811 0%,#611323 34%,#861f34 59%,#280711 100%);
}
.fmmsc-player-card--legendary::before { background:linear-gradient(90deg,transparent 48%,rgba(247,204,106,.13) 48% 52%,transparent 52%),linear-gradient(45deg,transparent 0 65%,rgba(247,204,106,.10) 66%,transparent 67%); }
.fmmsc-player-card--legendary::after { inset:8px; border:1px solid rgba(243,203,107,.40); clip-path:inherit; box-shadow:inset 0 0 24px rgba(243,203,107,.08); }
.fmmsc-player-card--legendary .fmmsc-player-card__ornament { background:radial-gradient(circle at 50% 4%,rgba(243,203,107,.24),transparent 15%),linear-gradient(125deg,transparent 0 29%,rgba(243,203,107,.10) 30%,transparent 31% 69%,rgba(243,203,107,.08) 70%,transparent 71%); }

.fmmsc-player-card--ultimate {
    clip-path:polygon(5% 7%,19% 7%,25% 2%,34% 6%,42% 1%,50% 0,58% 1%,66% 6%,75% 2%,81% 7%,95% 7%,100% 16%,96% 29%,100% 42%,96% 55%,100% 76%,92% 90%,79% 98%,50% 100%,21% 98%,8% 90%,0 76%,4% 55%,0 42%,4% 29%,0 16%);
    --card-text:#fff; --card-muted:rgba(255,255,255,.81); --card-line:rgba(255,239,168,.30); --card-accent:#ffe48b; --card-edge:#fff0b5;
    background:linear-gradient(145deg,#180b2d 0%,#4e1b62 20%,#8d1f56 37%,#ae801b 53%,#116a67 70%,#24367e 86%,#1c0d3a 100%);
}
.fmmsc-player-card--ultimate::before { background:conic-gradient(from 215deg at 64% 29%,transparent,rgba(255,255,255,.18),transparent 18%,rgba(255,226,118,.22) 31%,transparent 43%,rgba(93,233,222,.18) 58%,transparent 72%,rgba(255,131,197,.16) 85%,transparent); }
.fmmsc-player-card--ultimate::after { inset:8px; border:1px solid rgba(255,255,255,.42); clip-path:inherit; box-shadow:inset 0 0 34px rgba(255,232,148,.08); }
.fmmsc-player-card--ultimate .fmmsc-player-card__ornament { background:linear-gradient(130deg,transparent 0 23%,rgba(255,255,255,.08) 24%,transparent 25% 64%,rgba(104,236,225,.10) 65%,transparent 66%); }

.fmmsc-player-card__tier-word { position:absolute; z-index:1; top:112px; left:98px; right:24px; font-size:clamp(2.25rem,8.5vw,4.25rem); line-height:.82; font-weight:1000; letter-spacing:-.07em; text-align:center; color:var(--card-accent); opacity:.11; transform:rotate(-8deg); white-space:nowrap; pointer-events:none; text-shadow:0 4px 25px rgba(0,0,0,.13); }
.fmmsc-player-card--silver .fmmsc-player-card__tier-word,
.fmmsc-player-card--gold .fmmsc-player-card__tier-word { color:var(--card-text); opacity:.13; }
.fmmsc-player-card--world-class .fmmsc-player-card__tier-word { top:120px; font-size:2.75rem; line-height:.86; white-space:normal; }
.fmmsc-player-card--legendary .fmmsc-player-card__tier-word { font-size:3.05rem; }

.fmmsc-player-card__hero { height:286px; display:grid; grid-template-columns:92px minmax(0,1fr); align-items:end; padding:23px 30px 0 34px; position:relative; z-index:4; }
.fmmsc-player-card__rating { align-self:start; margin-top:55px; display:grid; justify-items:center; align-content:start; line-height:1; }
.fmmsc-player-card__rating strong { font-size:3.85rem; line-height:.82; letter-spacing:-.075em; text-shadow:0 5px 18px rgba(0,0,0,.16); }
.fmmsc-player-card__rating b { margin-top:10px; font-size:1.22rem; line-height:1; letter-spacing:.03em; }
.fmmsc-player-card__position-logo { width:46px; height:46px; margin-top:10px; object-fit:contain; filter:drop-shadow(0 3px 7px rgba(0,0,0,.18)); }
.fmmsc-player-card__portrait { width:228px; max-width:100%; height:266px; justify-self:end; align-self:end; display:grid; place-items:center; position:relative; overflow:hidden; isolation:isolate; }
.fmmsc-player-card__portrait::before { content:""; position:absolute; z-index:0; left:50%; top:50%; width:162px; height:162px; transform:translate(-50%,-50%); border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.13),rgba(255,255,255,.035) 63%,transparent 65%); box-shadow:0 0 0 17px rgba(255,255,255,.026); }
.fmmsc-player-card__portrait img { position:relative; z-index:2; width:100%; height:100%; object-fit:contain; object-position:center bottom; filter:drop-shadow(0 10px 13px rgba(0,0,0,.22)); }
.fmmsc-player-card__portrait span { position:relative; z-index:2; font-size:4.5rem; line-height:1; font-weight:950; letter-spacing:-.08em; text-shadow:0 8px 20px rgba(0,0,0,.18); }
.fmmsc-player-card__portrait img[data-player-card-protected-photo] { pointer-events:none; user-select:none; -webkit-user-select:none; -webkit-user-drag:none; -webkit-touch-callout:none; }
.fmmsc-player-card[data-player-card-capture] { -webkit-touch-callout:none; }

.fmmsc-player-card__identity { position:relative; z-index:6; margin:-1px 36px 0; min-height:54px; display:grid; align-content:center; text-align:center; padding:8px 10px 9px; border-top:1px solid var(--card-line); border-bottom:1px solid var(--card-line); background:linear-gradient(90deg,transparent,rgba(0,0,0,.10) 18% 82%,transparent); }
.fmmsc-player-card--silver .fmmsc-player-card__identity,
.fmmsc-player-card--gold .fmmsc-player-card__identity { background:linear-gradient(90deg,transparent,rgba(255,255,255,.11) 18% 82%,transparent); }
.fmmsc-player-card__identity strong { display:block; max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:1.18rem; line-height:1.08; letter-spacing:.02em; }
.fmmsc-player-card__identity small { margin-top:4px; color:var(--card-muted); font-size:.64rem; font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.fmmsc-player-card__attributes { width:292px; max-width:calc(100% - 72px); margin:0 auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px 10px; padding:13px 5px 7px; position:relative; z-index:6; }
.fmmsc-player-card__attributes div { display:flex; align-items:baseline; justify-content:center; gap:4px; min-width:0; }
.fmmsc-player-card__attributes strong { font-size:1.12rem; line-height:1; font-weight:950; }
.fmmsc-player-card__attributes span { color:var(--card-muted); font-size:.61rem; line-height:1; font-weight:950; letter-spacing:.05em; }
.fmmsc-player-card__meta { min-height:27px; display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:4px 10px; padding:5px 40px 6px; color:var(--card-muted); font-size:.51rem; line-height:1.2; font-weight:850; text-align:center; position:relative; z-index:6; }
.fmmsc-player-card__meta span { white-space:nowrap; }
.fmmsc-player-card__meta b { color:var(--card-text); }


/* Tier picker uses the same silhouette language, not one generic card. */
.player-card-tier-section { margin-top:38px; }
.player-card-tier-grid { display:grid; grid-template-columns:repeat(7,minmax(110px,1fr)); gap:12px; overflow-x:auto; padding-bottom:8px; }
.player-tier-preview { min-height:158px; padding:16px 12px; display:grid; align-content:end; position:relative; overflow:hidden; color:#fff; box-shadow:0 12px 26px rgba(7,24,45,.12); isolation:isolate; }
.player-tier-preview::before { content:""; position:absolute; inset:0; z-index:-1; opacity:.5; }
.player-tier-preview span { font-size:.72rem; font-weight:900; opacity:.75; }
.player-tier-preview strong { font-size:1rem; }
.player-tier-preview small { opacity:.7; }
.player-tier-preview--bronze { background:linear-gradient(135deg,#39231a,#a26943); clip-path:polygon(8% 3%,20% 0,39% 4%,50% 0,61% 4%,80% 0,92% 3%,100% 14%,96% 84%,88% 94%,72% 100%,28% 100%,12% 94%,4% 84%,0 14%); }
.player-tier-preview--silver { color:#15202b; background:linear-gradient(110deg,#9aa3ad,#f4f5f5,#aab3bd); clip-path:polygon(10% 8%,28% 8%,38% 1%,50% 8%,62% 1%,72% 8%,90% 8%,100% 18%,96% 84%,86% 95%,50% 100%,14% 95%,4% 84%,0 18%); }
.player-tier-preview--gold { color:#322506; background:radial-gradient(circle at 50% 20%,#fff2a9,#d79d18 65%,#7c5406); clip-path:polygon(7% 14%,18% 14%,24% 4%,33% 13%,42% 9%,50% 0,58% 9%,67% 13%,76% 4%,82% 14%,93% 14%,100% 22%,96% 84%,88% 95%,50% 100%,12% 95%,4% 84%,0 22%); }
.player-tier-preview--elite { background:linear-gradient(155deg,#090d12 0 58%,#28313a 58%); clip-path:polygon(5% 8%,22% 8%,30% 1%,40% 7%,50% 0,61% 7%,72% 2%,92% 5%,100% 17%,95% 32%,100% 46%,94% 58%,100% 78%,90% 93%,50% 100%,10% 93%,0 78%,6% 58%,0 46%,5% 32%,0 17%); }
.player-tier-preview--world-class { background:radial-gradient(circle at 50% 25%,#347bab,#0b2f51 45%,#061523); clip-path:polygon(50% 0,67% 4%,86% 12%,98% 26%,100% 72%,90% 91%,70% 100%,30% 100%,10% 91%,0 72%,2% 26%,14% 12%,33% 4%); }
.player-tier-preview--legendary { background:linear-gradient(#731d30,#2f0d18); clip-path:polygon(7% 15%,15% 8%,29% 8%,37% 2%,50% 0,63% 2%,71% 8%,85% 8%,93% 15%,100% 25%,96% 84%,88% 95%,50% 100%,12% 95%,4% 84%,0 25%); }
.player-tier-preview--ultimate { background:linear-gradient(145deg,#4c145f,#ad3159,#b58a18,#176b67,#22358b); clip-path:polygon(5% 7%,20% 7%,27% 1%,38% 6%,50% 0,62% 6%,73% 1%,80% 7%,95% 7%,100% 16%,95% 31%,100% 46%,95% 60%,100% 77%,90% 92%,50% 100%,10% 92%,0 77%,5% 60%,0 46%,5% 31%,0 16%); }

@media (max-width:900px) {
    .player-card-setup-grid,
    .player-card-dashboard { grid-template-columns:1fr; }
    .player-card-stage { order:-1; }
    .player-card-tier-grid { grid-template-columns:repeat(7,130px); }
}

@media (max-width:720px) {
    .player-card-page { padding:22px 0 56px; }
    .player-card-panel { padding:18px; border-radius:19px; }
    .player-card-form-grid { grid-template-columns:1fr; }
    .player-card-position-picker { padding:14px; }
    .player-card-position-options { gap:8px; }
    .player-card-position-chip { min-width:49px; padding:9px 10px; }
    .player-card-attribute-editor { grid-template-columns:repeat(3,1fr); }
    .player-card-dp-numbers { grid-template-columns:1fr 1fr 1fr; }
    .player-card-photo-editor { grid-template-columns:88px minmax(0,1fr); padding:13px; }
    .player-card-photo-preview { width:88px; border-radius:15px; }
    .player-card-photo-remove { grid-column:1 / -1; }
    .player-card-respec-actions { grid-template-columns:1fr; }
    .fmmsc-player-card { width:min(94vw,360px); }
    .fmmsc-player-card__hero { height:264px; grid-template-columns:84px minmax(0,1fr); padding:20px 26px 0 31px; }
    .fmmsc-player-card__rating { margin-top:52px; }
    .fmmsc-player-card__rating strong { font-size:3.55rem; }
    .fmmsc-player-card__position-logo { width:42px; height:42px; margin-top:8px; }
    .fmmsc-player-card__portrait { width:210px; height:244px; }
    .fmmsc-player-card__tier-word { top:105px; left:91px; font-size:3.55rem; }
    .fmmsc-player-card--world-class .fmmsc-player-card__tier-word { font-size:2.55rem; }
    .fmmsc-player-card__identity { margin-inline:33px; }
    .fmmsc-player-card__attributes { max-width:calc(100% - 66px); }
    .fmmsc-player-card__meta { padding-inline:36px; }
    .player-card-ledger-row { align-items:flex-start; }
}

@media (max-width:390px) {
    .player-card-attribute-editor { gap:7px; }
    .player-card-attribute-editor input { min-height:46px; }
    .fmmsc-player-card { width:100%; }
    .fmmsc-player-card__hero { height:252px; grid-template-columns:78px minmax(0,1fr); padding:18px 23px 0 28px; }
    .fmmsc-player-card__rating strong { font-size:3.25rem; }
    .fmmsc-player-card__position-logo { width:38px; height:38px; margin-top:7px; }
    .fmmsc-player-card__portrait { width:198px; height:232px; }
    .fmmsc-player-card__portrait span { font-size:3.8rem; }
    .fmmsc-player-card__tier-word { left:83px; right:20px; top:101px; font-size:3.25rem; }
    .fmmsc-player-card--world-class .fmmsc-player-card__tier-word { font-size:2.35rem; }
    .fmmsc-player-card__identity { margin-inline:30px; }
    .fmmsc-player-card__attributes { max-width:calc(100% - 60px); }
    .fmmsc-player-card__meta { padding-inline:31px; font-size:.49rem; }
}

@media (prefers-reduced-motion:reduce) {
    .player-card-position-chip { transition:none; }
}

/* =========================================================
   FMMSC v3.8.1 — DP progression controls
   ========================================================= */
.player-card-dp-numbers { grid-template-columns:repeat(4,minmax(0,1fr)); }
.player-card-progression-seed,
.player-card-progression-readonly { display:grid; gap:5px; padding:13px 15px; border:1px solid #dfe5eb; border-radius:15px; background:#f8fafc; color:#566273; line-height:1.5; }
.player-card-progression-readonly { align-content:start; }
.player-card-progression-seed strong,
.player-card-progression-readonly strong { color:#172231; font-size:1.05rem; }
.player-card-progression-seed span,
.player-card-progression-readonly span { color:#8a5a05; font-size:.8rem; font-weight:900; }
.player-card-progression-panel { margin-top:28px; }
.player-card-trait-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.player-card-trait { display:grid; gap:10px; padding:17px; border:1px solid #dfe5eb; border-radius:17px; background:#f8fafc; }
.player-card-trait > div { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.player-card-trait > div span { color:#8a5a05; font-weight:950; letter-spacing:.08em; }
.player-card-trait > div strong { color:#172231; font-size:1.35rem; }
.player-card-trait small { min-height:2.9em; color:#697586; line-height:1.45; }
.player-card-trait form { margin-top:auto; }
.player-card-trait button { width:100%; }
.player-card-trait button:disabled { opacity:.46; cursor:not-allowed; }

.player-card-attribute-stepper { display:grid; grid-template-columns:42px minmax(0,1fr) 42px; gap:6px; align-items:stretch; }
.player-card-attribute-stepper button { min-width:42px; min-height:48px; border:1px solid #cfd8e3; border-radius:12px; background:#f5f7fa; color:#07182d; font:inherit; font-size:1.18rem; font-weight:950; cursor:pointer; touch-action:manipulation; }
.player-card-attribute-stepper button:hover { border-color:#d59816; background:#fff8e8; }
.player-card-attribute-stepper button:focus-visible { outline:3px solid rgba(213,152,22,.18); outline-offset:1px; }
.player-card-attribute-stepper input { min-height:48px; }
.player-card-upgrade-panel .player-card-attribute-editor { grid-template-columns:repeat(3,minmax(0,1fr)); }
.player-card-upgrade-panel.is-over-budget .player-card-upgrade-cost { background:#fff0ef; border-color:#efb4ad; color:#8f281c; }
.player-card-upgrade-panel.is-over-budget .player-card-upgrade-cost small { color:#8f281c; }
.player-card-ledger-row small { color:#4f5c6b; font-size:.78rem; line-height:1.45; }
.player-card-ledger-row em { color:#7a5a16; font-size:.76rem; font-style:normal; font-weight:800; line-height:1.4; }

@media (max-width:720px) {
    .player-card-dp-numbers { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .player-card-trait-grid { grid-template-columns:1fr; }
    .player-card-upgrade-panel .player-card-attribute-editor { grid-template-columns:1fr 1fr; }
    .player-card-attribute-stepper { grid-template-columns:46px minmax(0,1fr) 46px; }
    .player-card-attribute-stepper button { min-width:46px; min-height:50px; }
    .player-card-attribute-stepper input { min-height:50px; }
}

@media (max-width:390px) {
    .player-card-upgrade-panel .player-card-attribute-editor { grid-template-columns:1fr; }
}

/* FMMSC v3.9.9.7 — Signature PlayStyles live on the main card. */
.fmmsc-player-card__signature-playstyles {
    position:absolute;
    z-index:10;
    left:18px;
    top:352px;
    display:flex;
    gap:5px;
    align-items:center;
}
.fmmsc-player-card__signature-playstyle {
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    transform:rotate(45deg);
    overflow:hidden;
    border:1px solid rgba(108,72,2,.22);
    background:linear-gradient(135deg,#fff1a5,#dfaa27 58%,#9a6504);
    box-shadow:0 5px 10px rgba(80,51,0,.24);
}
.fmmsc-player-card__signature-playstyle img {
    width:34px;
    height:34px;
    object-fit:contain;
    transform:rotate(-45deg);
    filter:sepia(1) saturate(4.2) hue-rotate(350deg) brightness(.88) contrast(1.12);
}
@media (max-width:720px) {
    .fmmsc-player-card__signature-playstyles { left:16px; top:326px; }
    .fmmsc-player-card__signature-playstyle { width:26px; height:26px; }
    .fmmsc-player-card__signature-playstyle img { width:31px; height:31px; }
}
@media (max-width:390px) {
    .fmmsc-player-card__signature-playstyles { left:14px; top:314px; }
}
/* The cached FC artwork already includes the diamond; only recolor Signature state. */
.fmmsc-player-card__signature-playstyle {
    width:30px;
    height:30px;
    transform:none;
    overflow:visible;
    border:0;
    background:transparent;
    box-shadow:none;
}
.fmmsc-player-card__signature-playstyle img {
    width:30px;
    height:30px;
    transform:none;
    filter:sepia(1) saturate(5) hue-rotate(347deg) brightness(.93) contrast(1.08) drop-shadow(0 3px 4px rgba(90,57,0,.24));
}
