/* Restored original 32 x 36 sprites and compact character selection. */
.pixel-avatar{image-rendering:pixelated;shape-rendering:crispEdges;overflow:visible}
.avatar-preview-wrap{margin-bottom:24px;background:#f3e5fd;border:1px solid #d9bfe9;border-radius:8px;overflow:hidden}
.avatar-preview-wrap .avatar-stage{height:190px;border:0;border-radius:0;margin:0}
.avatar-preview-wrap .avatar-stage .pixel-avatar{width:128px;height:144px}
.avatar-preview-caption{text-align:center;padding:0 14px 16px}
.avatar-preview-caption b{display:block;font-size:16px;overflow-wrap:anywhere}
.avatar-preview-caption p{font-size:11px;color:#765780;margin-top:5px;overflow-wrap:anywhere}
#avatar-designer fieldset:first-child{margin-top:0}
.registration-trap{display:none}.empty-state{border:1px dashed #d5bb8e;border-radius:10px;background:#fffaf0;padding:26px 20px;text-align:center;margin:20px 0}.empty-state h2,.empty-state h3{font-size:21px}.empty-state p{font-size:12px;color:#8b775f;margin:12px auto 18px;max-width:370px}.empty-state .btn{margin-top:2px}
.character-choice{min-height:104px}
.character-choice .pixel-avatar{width:64px;height:72px}
.character-choice small{font-size:11px}
.gender-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gender-grid .character-choice{min-height:122px;justify-content:center}
.gender-grid .character-choice .pixel-avatar{width:72px;height:81px}
.gender-grid .character-choice small{font-size:13px;font-weight:700;color:var(--ink)}
.palette-field{margin-top:17px}
.palette-field>span{font-size:11px;color:#816d5b}
.color-options{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:9px;margin-top:10px}
.color-choice{display:grid;place-items:center;background:var(--swatch);border:3px solid #fffdf6;border-radius:6px;aspect-ratio:1;min-height:40px;width:100%;padding:0;box-shadow:0 0 0 1px #d9cbb6;color:white;text-shadow:0 1px 3px #30202b,0 -1px 3px #30202b;font-weight:800;font-size:19px}
.color-choice.selected{box-shadow:0 0 0 2px var(--purple)}
.color-options:has(>button:nth-child(6):last-child){grid-template-columns:repeat(6,minmax(0,1fr))}
.accessory-help{font-size:11px;color:#89745e;margin-bottom:12px}
.accessory-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.accessory-choice{text-align:left}
.accessory-choice.selected:before{content:'✓ ';font-weight:700}
.admin-slogan-field{margin-top:18px}
.accessory-choice{min-height:44px;font-size:12px}
.identity-fields{padding-top:26px}
.identity-fields h2{font-size:21px;margin-bottom:18px}
.identity-fields>.field{margin-top:16px}
.identity-fields .optional{font-size:11px;font-weight:400;color:#917c67}
.identity-fields small{font-size:10px;font-weight:400;color:#917c67}
.field textarea{font:16px/1.5 Arial,sans-serif;width:100%;min-height:78px;resize:vertical;border:1px solid #d9cab5;background:#fffaf0;border-radius:5px;padding:12px;color:var(--ink)}
textarea:focus-visible{outline:3px solid var(--purple);outline-offset:3px}
.rank-avatar-button{border:0;background:none;padding:0;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:zoom-in}
.rank-avatar-button .avatar{width:64px;height:72px}
.rank-row{min-height:101px}
.rank-slogan{font-size:11px;line-height:1.5;color:#715b50;margin-top:6px;overflow-wrap:anywhere}
.rank-points{margin-left:auto}
.avatar-detail .detail-art{height:240px;display:flex;justify-content:center;align-items:center;background:#f3e4fd;border-radius:7px}
.avatar-detail .detail-art svg{width:192px;height:216px}
.avatar-detail blockquote,.success-slogan{margin:18px 0;text-align:center;color:#79518d;font-size:16px;line-height:1.55;overflow-wrap:anywhere}
.avatar-detail>p{text-align:center}
.avatar-detail .modal-head h2{overflow-wrap:anywhere;min-width:0}
.avatar-detail .modal-close{flex-shrink:0}
.board-note{background:#fff7e4e8;border-radius:5px;padding:12px}
.site-shell:has(.rank-list){background:#ffe0a3;position:relative;isolation:isolate}.site-shell:has(.rank-list)::before{content:'';position:fixed;inset:0 auto 0 50%;transform:translateX(-50%);width:min(100vw,600px);height:100vh;height:100dvh;background:#ffe0a3 url('/assets/leaderboard-pixel-v5.png') center bottom/cover no-repeat;image-rendering:pixelated;z-index:-1;pointer-events:none}.site-shell:has(.rank-list) .site-header,.site-shell:has(.rank-list) .public-nav{background:#fff4df}.site-shell:has(.rank-list) .board-hero{height:242px;background:none}.site-shell:has(.rank-list) .board-hero h1{font-size:34px;max-width:90%;text-shadow:2px 2px #ffeac6}.site-shell:has(.rank-list) .board-hero p{color:#765231;font-size:13px;max-width:90%}.site-shell:has(.rank-list) .footer{background:#fff6e4e6;padding:18px 8px;border:1px solid #d9ba8d;border-radius:3px}.site-shell:has(.rank-list) main{padding-left:24px;padding-right:24px}

@media(max-width:480px){
 .register-intro h1{font-size:30px}
 .color-options{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
 .color-choice{min-height:40px}
 .color-options:has(>button:nth-child(6):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
 .color-options:has(>button:nth-child(6):last-child) .color-choice{aspect-ratio:auto;height:44px}
 .gender-grid .character-choice{min-height:119px}
 .avatar-preview-wrap{position:sticky;top:60px;z-index:5;box-shadow:0 4px 8px #76578018}
 .avatar-preview-wrap .avatar-stage{height:168px}
 .avatar-preview-wrap .avatar-stage .pixel-avatar{width:112px;height:126px}
 .character-choice .pixel-avatar{width:56px;height:63px}
 .character-choice{min-height:97px}
 .character-choice small{font-size:10px}
 .identity-fields input{font-size:16px}
 .rank-row{gap:8px;min-height:98px}
 .rank-avatar-button .avatar{width:56px;height:63px}
 .rank-person h3{font-size:15px}
 .rank-slogan{font-size:10px}
 .rank-points{min-width:43px}
 .site-shell:has(.rank-list) main{padding-left:16px;padding-right:16px}
 .site-shell:has(.rank-list) .board-hero{margin-left:-16px;margin-right:-16px;padding:27px 20px;height:236px}
 .site-shell:has(.rank-list) .board-hero h1{font-size:31px}
 .site-shell:has(.rank-list) .board-hero p{font-size:12px}
}
@media(max-width:360px){
 .rank-row{gap:6px;padding-left:6px;padding-right:8px}
 .rank-avatar-button .avatar{width:48px;height:54px}
 .rank-person h3{font-size:14px}
 .rank-number{width:18px}
}
.header-actions{display:flex;gap:6px;align-items:center}
.music-toggle{min-height:34px;border:1px solid #d4bbdd;background:#f4e7fc;border-radius:6px;padding:6px 9px;font-size:10px;white-space:nowrap;color:#6d388f;font-weight:700}
.music-toggle[aria-pressed=true]{background:#963bf0;color:white;border-color:#8432ce}
.preview-banner{text-align:center;padding:5px 12px;background:#f3e8d6;color:#866e52;font-size:9px;line-height:1.5;letter-spacing:.2px}
.trial-note{font-size:10px;line-height:1.6;color:#8e7557;background:#f5ecdd;padding:10px;border-radius:5px;text-align:center;margin-top:13px}
.site-shell:has(.rank-list) .board-hero h1{font-size:clamp(23px,6.7vw,34px);max-width:100%;line-height:1.2;letter-spacing:-.8px}
.rank-row{background:#fffaf1f2}
.rank-row.rank-gold{background:linear-gradient(110deg,#fff0b5,#ffd263);border:2px solid #c79420;box-shadow:0 4px 0 #b17f20}
.rank-row.rank-silver{background:linear-gradient(110deg,#f5f7fc,#d3dce9);border:2px solid #92a1b7;box-shadow:0 4px 0 #7a8ba7}
.rank-row.rank-bronze{background:linear-gradient(110deg,#ffe7ce,#e3a77c);border:2px solid #af7046;box-shadow:0 4px 0 #9c603c}
.rank-row.rank-finalist{background:#fff6e8f2;border:2px solid #bba1ce;box-shadow:0 4px 0 #8e709e6b}
.rank-gold .rank-number,.rank-silver .rank-number,.rank-bronze .rank-number{display:grid;place-items:center;min-width:26px;height:26px;color:#fff7ea;border-radius:4px;background:#9e721b}
.rank-silver .rank-number{background:#64748e}
.rank-bronze .rank-number{background:#985f3e}
.rank-gold .rank-badge{color:#7e530b}.rank-silver .rank-badge{color:#51627c}.rank-bronze .rank-badge{color:#75462d}
.board-title p{line-height:1.6}
@media(max-width:360px){.header-actions{gap:4px}.music-toggle{padding:6px;font-size:9px}.preview-label{font-size:8px;padding:4px}.rank-gold .rank-number,.rank-silver .rank-number,.rank-bronze .rank-number{min-width:22px;height:24px}.rank-badge{font-size:7px}}
