/* Set Card extension. Does not restyle the tournament page. */
:root { --sc-bg:#19211c; --sc-panel:#263025; --sc-line:#576048; --sc-gold:#ffda8b; }
.header-actions { display:flex; align-items:center; gap:10px; }
.fighter-card.has-profile { cursor:pointer; position:relative; }
.fighter-card.has-profile:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
.fighter-card .profile-hint { position:absolute; bottom:57px; left:18px; right:18px; padding:9px 4px; border-radius:9px; background:rgba(18,12,8,.88); color:var(--gold-soft); border:1px solid #aa8446; font-size:12px; pointer-events:none; opacity:0; transition:opacity .2s; }
.fighter-card:hover .profile-hint, .fighter-card:focus-visible .profile-hint { opacity:1; }
.set-card-dialog { position:fixed; inset:82px 14px 14px auto; margin:0; width:min(530px,calc(100vw - 28px)); height:calc(100dvh - 96px); max-height:none; max-width:none; padding:0; overflow:auto; color:#f6eddb; background:var(--sc-bg); border:1px solid #7a7958; border-top:3px solid var(--sc-gold); border-radius:18px; box-shadow:0 25px 85px #0009; }
.set-card-dialog::backdrop { background:rgba(0,0,0,.42); }
.sc-toolbar { position:sticky; top:0; z-index:2; display:flex; justify-content:space-between; align-items:center; gap:10px; padding:14px 20px; background:var(--sc-bg); border-bottom:1px solid var(--sc-line); font-size:11px; letter-spacing:1.5px; color:var(--sc-gold); }
.sc-content { padding:20px; display:grid; gap:23px; }
.sc-picker { display:flex; gap:12px; align-items:center; color:#c1c9bb; font-size:12px; }
.sc-picker select { min-width:0; flex:1; color:#fff0ce; background:var(--sc-panel); padding:9px; border:1px solid var(--sc-line); border-radius:8px; font:inherit; }
.sc-hero { display:grid; grid-template-columns:130px minmax(0,1fr); gap:20px; align-items:center; }
.sc-hero img { width:100%; aspect-ratio:2/3; object-fit:cover; border-radius:12px; border:1px solid var(--sc-line); background:#2c352d; }
.sc-hero h2 { font-size:clamp(26px,4vw,38px); overflow-wrap:anywhere; }
.sc-hero p { margin-bottom:9px; }
#scTournament { color:#c8cdbf; font-size:13px; }
#scStatus { display:inline-block; margin:12px 0 0; padding:6px 10px; border:1px solid #697d4c; border-radius:6px; color:#d6e1b4; font-size:12px; }
#scStatus.is-out { color:#ccc6bf; border-color:#68645f; }
.sc-matches { background:var(--sc-panel); border:1px solid #3d4a37; padding:16px; border-radius:12px; }
.sc-section-head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:15px; }
.sc-section-head h3 { margin:0; }
.sc-section-head > div { display:flex; gap:8px; }
.sc-section-head .icon-button, .gallery-controls .icon-button { width:36px; height:36px; font-size:19px; }
.sc-match-kicker { color:#d7c69e; font-size:11px; letter-spacing:.5px; line-height:1.6; }
.sc-versus { display:grid; grid-template-columns:1fr 34px 1fr; align-items:center; text-align:center; gap:8px; }
.sc-contender { min-width:0; }
.sc-contender img, .sc-unknown { width:78px; height:100px; object-fit:cover; border-radius:8px; background:#18201a; border:1px solid #5a624c; margin:auto; }
.sc-unknown { display:grid; place-items:center; font-size:32px; color:#8f9a84; }
.sc-contender p { margin:7px 0 10px; font-size:12px; overflow-wrap:anywhere; color:#ffebba; }
.sc-versus > b { color:#9b9f86; }
.sc-match-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:center; margin-top:8px; }
.sc-match-actions p { margin:0; font-size:12px; color:#c7cbbd; }
.sc-bio h3 { margin-bottom:10px; }
.sc-bio > p { color:#c2cabc; line-height:1.7; white-space:pre-line; }
#scFacts { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:0; }
#scFacts div { min-width:0; }
#scFacts dt { font-size:11px; text-transform:uppercase; letter-spacing:1px; color:#9ba88f; }
#scFacts dd { margin:6px 0 0; color:#ebe8d6; font-size:14px; overflow-wrap:anywhere; }
.sc-record { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.sc-record div { border:1px solid #465240; border-radius:10px; padding:13px; text-align:center; background:#202a21; }
.sc-record strong { display:block; color:var(--sc-gold); font-size:30px; }
.sc-record span { color:#c8d3bc; font-size:12px; }
.sc-note { color:#a9b59f; font-size:11px; line-height:1.5; margin:8px 0 0; }
.sc-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.sc-actions .rules-button { padding:12px 8px; }
.gallery-dialog { padding:0; width:min(950px,calc(100vw - 28px)); max-height:92dvh; color:#fff1d0; border:1px solid #7a7958; border-radius:16px; background:var(--sc-bg); }
.gallery-dialog::backdrop { background:#000c; }
.gallery-dialog h2 { font-size:20px; }
.gallery-stage { display:grid; place-items:center; min-height:260px; padding:16px; }
.gallery-stage img { max-width:100%; height:auto; max-height:65dvh; object-fit:contain; }
.gallery-stage p { color:#d3c9b5; text-align:center; }
.gallery-controls { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 18px; }
.gallery-controls p { margin:0; text-align:center; font-size:13px; }
.gallery-stage [hidden] { display:none; }
button:disabled { opacity:.4; cursor:default; }
body:has(dialog[open]) { overflow:hidden; }
@media(max-width:600px) { .site-header { flex-wrap:wrap; } .header-actions { margin-left:auto; } .set-card-dialog { inset:8px; width:calc(100vw - 16px); height:calc(100dvh - 16px); } .sc-content { padding:16px; } .sc-hero { grid-template-columns:105px minmax(0,1fr); gap:14px; } }
@media(hover:none) { .fighter-card .profile-hint { opacity:1; } }
@media(prefers-reduced-motion:reduce) { .profile-hint { transition:none; } }
