/* Hallmark · P5 H4 E4 S5 R5 V4. Collector edition and accountable election flow. */
:root{--collector-red:#ed786f;--collector-blue:#8bafff;--collector-cyan:#7edcea;--collector-gold:#dfbd78;--collector-line:rgba(255,255,255,.12);--collector-shadow:rgba(0,0,0,.6)}
.creator-rank-card{--rank-accent:var(--collector-blue);padding:0;border:1px solid var(--collector-line);border-radius:18px;background:var(--color-surface);box-shadow:0 20px 45px var(--collector-shadow);overflow:hidden;isolation:isolate}
.creator-rank-card[data-rank="1"]{--rank-accent:var(--collector-red)}.creator-rank-card[data-rank="3"]{--rank-accent:var(--collector-cyan)}.creator-rank-card[data-rank="4"]{--rank-accent:var(--collector-gold);border-color:var(--collector-gold)}
.creator-rank-card:before{inset:9px;border-color:var(--collector-line);border-radius:11px;z-index:4}.creator-card-edition{display:block;padding:22px 22px 0;font:9px var(--font-mono);color:var(--color-ink-2);letter-spacing:.12em;position:relative;z-index:3}
.creator-rank-card .collector-number{position:absolute;top:56px;right:18px;font:700 100px/.9 var(--font-display);letter-spacing:-.08em;color:var(--rank-accent);opacity:.12;z-index:-1}
.creator-rank-art{height:285px;margin:14px 0 0;padding:0 12px;width:100%;object-fit:contain;background:transparent;filter:brightness(1.16) saturate(1.08) drop-shadow(0 12px 16px var(--collector-shadow));transform:translateZ(16px)}
.creator-card-level{margin:0;padding:17px 22px 0;color:var(--rank-accent);letter-spacing:.12em}.creator-rank-card>strong{padding:5px 22px 0;font-size:27px}.creator-rank-card>small{padding:0 22px}.creator-card-stamp{margin:18px 22px 0;padding:12px 0;font-size:8px}
.collector-inspect{position:relative;z-index:5;display:flex;justify-content:space-between;align-items:center;width:calc(100% - 44px);min-height:44px;margin:0 22px 16px;color:var(--rank-accent);font-size:11px;cursor:pointer;border-top:1px solid var(--color-rule)}.collector-inspect:hover{color:var(--color-ink)}.collector-inspect:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}
.rank-art img{background:transparent;filter:brightness(1.16) saturate(1.08) drop-shadow(0 10px 14px var(--collector-shadow))}.rank-card{background:var(--color-surface);border-color:var(--collector-line)}.rank-card[aria-pressed=true]{border-color:var(--color-accent-text)}
.creator-identity{grid-template-columns:300px minmax(0,1fr);gap:64px}.creator-identity-copy h2{max-width:680px}.creator-profile-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.creator-profile-actions a{min-height:44px;display:inline-flex;align-items:center}
.creator-milestone{margin-top:28px;padding-top:22px;border-top:1px solid var(--color-rule);max-width:620px}.creator-milestone strong{font-size:18px}.creator-milestone p{font-size:13px;color:var(--color-muted);line-height:1.7;margin:10px 0}.creator-milestone progress{width:100%;height:6px;accent-color:var(--color-accent);display:block;margin:16px 0}.creator-milestone small{font:10px var(--font-mono);color:var(--color-accent-text)}.collector-requirements{display:grid;gap:12px;padding-left:18px;margin:20px 0;font-size:13px;line-height:1.7}
.election-desk{min-width:0}.election-desk-head{display:flex;justify-content:space-between;gap:18px;align-items:start}.election-desk h3{font-size:30px;letter-spacing:-.035em;margin:12px 0}.election-demo-tag{font:9px var(--font-mono);white-space:nowrap;border:1px solid var(--color-rule);padding:8px;color:var(--color-muted)}
.election-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:0;margin:28px 0;list-style:none}.election-steps li{border-top:2px solid var(--color-rule);padding:13px 0;font:11px var(--font-mono);color:var(--color-muted)}.election-steps li span{display:block;margin-top:8px;font:12px var(--font-body)}.election-steps [aria-current=step]{color:var(--color-accent-text);border-color:var(--color-accent-text)}
.election-desk h4{font:600 23px/1.2 var(--font-display);margin:16px 0}.election-desk textarea{min-height:108px}.election-desk form>.league-btn{margin:18px 0}.election-nominations,.election-candidates{display:grid;gap:16px;margin:20px 0}.election-nomination,.election-candidate{border:1px solid var(--color-rule);border-radius:10px;padding:20px;min-width:0}.election-nomination strong{display:block;font-size:16px}.election-nomination small{display:block;color:var(--color-muted);font-size:11px;margin:8px 0}.election-nomination a{display:inline-flex;min-height:44px;align-items:center;font-size:12px}.election-nomination p{color:var(--color-ink-2);font-size:13px;line-height:1.7;margin:8px 0;overflow-wrap:anywhere}.election-nomination button{margin-top:12px}.election-support{font-size:13px;margin:20px 0 12px}.election-ready{display:block;font-size:11px;color:var(--color-accent-text);margin-top:16px}.election-candidate .league-field{margin-top:16px}
.election-ballots{border:0;padding:0;margin:22px 0}.election-ballots legend{font-size:12px;color:var(--color-muted);margin-bottom:12px}.election-ballot-card{display:flex;align-items:center;gap:16px;border:1px solid var(--color-rule);border-radius:9px;padding:20px;margin:12px 0;cursor:pointer}.election-ballot-card:has(:checked){border-color:var(--color-accent-text);background:var(--color-accent-soft)}.election-ballot-card input{accent-color:var(--color-accent);width:18px;height:18px;flex:none}.election-ballot-card strong{display:block;font-size:16px}.election-ballot-card small{display:block;font-size:11px;color:var(--color-muted);margin-top:7px}.election-receipt{border-left:2px solid var(--color-success);padding:16px;margin:20px 0;background:var(--color-surface)}.election-receipt strong{font-size:16px}.election-receipt p{font-size:12px;line-height:1.8;color:var(--color-muted)}.election-footer{display:flex;gap:16px;flex-wrap:wrap;align-items:center;padding-top:22px;border-top:1px solid var(--color-rule)}.election-desk .mx-work-link{min-height:44px;display:inline-flex;align-items:center;font-size:12px}.election-result-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 24px;gap:16px;align-items:center;margin:22px 0;font-size:13px}.election-result-row progress{width:100%;height:8px;accent-color:var(--color-accent)}.election-desk [data-error=true]{color:var(--collector-red)}.election-desk :disabled{opacity:.55;cursor:not-allowed}.election-desk :focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}.election-desk .league-btn{min-height:44px;white-space:nowrap;font-size:12px}.election-desk .league-btn:active{transform:translateY(1px)}
@media(max-width:950px){.creator-identity{grid-template-columns:260px minmax(0,1fr);gap:32px}.creator-rank-art{height:255px}}
@media(max-width:700px){.creator-identity{grid-template-columns:minmax(0,1fr);gap:30px}.creator-rank-card{width:min(100%,300px)}.creator-rank-art{height:285px}.election-desk-head{flex-direction:column;gap:4px}.election-desk h3{font-size:28px}.election-nomination,.election-candidate{padding:16px}.election-steps{gap:5px}.election-steps li span{font-size:10px}.creator-profile-actions{gap:8px}.election-result-row{gap:8px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.creator-rank-art{transform:none!important}.election-desk .league-btn{transition:none!important}}
.league-mobile-nav{display:none}.league-process{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px 64px;padding:48px 0;border-bottom:1px solid var(--color-rule)}.league-process h2{font:600 clamp(28px,3.2vw,44px)/1.12 var(--font-display);letter-spacing:-.04em;margin:16px 0}.league-process h2 em{font-style:normal;color:var(--color-accent-text)}.league-process p{font-size:13px;line-height:1.8;color:var(--color-muted);max-width:560px}.league-process ol{list-style:none;padding:0;margin:0}.league-process li{display:flex;gap:22px;padding:18px 0;border-bottom:1px solid var(--color-rule)}.league-process li:first-child{padding-top:0}.league-process li>span{font:11px var(--font-mono);color:var(--color-accent-text);padding-top:3px}.league-process li strong{font-size:16px}.league-process li p{margin-top:6px}.league-process details{grid-column:1/-1;font-size:13px}.league-process summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:12px}.league-process summary:after{content:'+';color:var(--color-accent-text)}.league-process details[open] summary:after{content:'−'}.league-process details p{max-width:900px}.rank-detail .rank-score{color:var(--color-accent-text);font:11px/1.6 var(--font-mono);margin-top:24px}.rank-detail .rank-brief{font-size:17px;line-height:1.6;color:var(--color-ink);margin:14px 0}.rank-deliver-heading{font-size:12px;margin:22px 0 12px}.rank-deliverables{list-style:disc;padding-left:18px;color:var(--color-ink-2);font-size:12px;line-height:1.9}.rank-detail .rank-next{font-size:12px;margin:20px 0}.rank-gates{align-content:start}.rank-gates li{padding:14px 0;line-height:1.7}.election-desk form>.election-hint{display:block}.league-process summary:focus-visible,.league-mobile-nav select:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}
@media(max-width:700px){.league-mobile-nav{display:grid;gap:9px;padding:16px 0;border-bottom:1px solid var(--color-rule)}.league-mobile-nav label{font:10px var(--font-mono);text-transform:uppercase;color:var(--color-muted)}.league-mobile-nav select{width:100%;min-height:48px;background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-rule);border-radius:8px;padding:10px 12px}.league-mobile-nav+.league-nav{display:none}.league-process{grid-template-columns:minmax(0,1fr);gap:26px;padding:32px 0}.league-process h2{font-size:32px}.league-process details{grid-column:auto}.rank-detail .rank-brief{font-size:16px}}

/* The user's supplied photographs are the authoritative card artwork. Keep the entire image visible. */
.creator-rank-art{width:calc(100% - 32px);height:330px;margin:18px 16px 0;padding:0;object-fit:contain;background:var(--league-dark);border:1px solid var(--collector-line);border-radius:7px;filter:brightness(1.08) saturate(1.04)}
.rank-art{height:330px;background:var(--league-dark);border:1px solid var(--collector-line);border-radius:7px;overflow:hidden}.rank-art img{object-fit:contain;filter:brightness(1.08) saturate(1.04);background:var(--league-dark)}
@media(max-width:950px){.rank-art{height:260px}.creator-rank-art{height:300px}}
@media(max-width:700px){.rank-art{height:220px}.creator-rank-art{height:330px}}
@media(max-width:370px){.rank-art{height:185px}}
.rank-art{display:block}.rank-art img{display:block;min-height:0;max-height:100%;height:100%;width:100%}
