/* Top Ten DJs poster cards, shared by the public voting page. */
#cpGrid.dj-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
#cpGrid .dj{padding:10px;background:#101012;border:1px solid #2a2a2e;border-radius:16px;overflow:hidden;min-width:0}
#cpGrid .dj-poster{position:relative;isolation:isolate;width:100%;aspect-ratio:4/5;min-height:0;height:auto;background-color:#0b0b0d;background-size:cover;background-position:center 28%;border:1px solid #a88c46;border-radius:12px;overflow:hidden}
#cpGrid .dj-poster:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),transparent 38%,rgba(0,0,0,.12) 56%,rgba(0,0,0,.83) 81%,#09090b 100%);z-index:0;pointer-events:none}
#cpGrid .dj-ttd-logo{position:absolute;top:16px;left:16px;width:54px;height:72px;object-fit:contain;object-position:top;z-index:2;filter:drop-shadow(0 2px 5px #000)}
#cpGrid .dj-plays{position:absolute;top:14px;right:14px;z-index:2;display:flex;align-items:center;gap:6px;background:rgba(0,0,0,.65);border:1px solid #ffffff30;border-radius:999px;color:#fff;font-size:13px;padding:7px 11px;backdrop-filter:blur(8px)}
#cpGrid .dj-identity{position:absolute;inset:auto 12px 24px;z-index:2;display:flex;align-items:center;flex-direction:column;gap:16px;text-align:center}
#cpGrid .dj-gold-name{font-family:'Anton',Impact,sans-serif;text-transform:uppercase;font-size:clamp(32px,4.5vw,62px);font-weight:400;line-height:1.05;letter-spacing:-.02em;margin:0;max-width:100%;overflow-wrap:anywhere;background:linear-gradient(180deg,#fff2b2 4%,#e9c563 48%,#9a722a 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 8px #0008)}
#cpGrid .dj-gold-name.long-name{font-size:clamp(26px,3vw,42px)}
#cpGrid .dj-country-flag{display:block;width:48px;height:33px;object-fit:cover;border-radius:2px;box-shadow:0 4px 16px #0008}
#cpGrid .dj-country-name{color:#fff;text-transform:uppercase;letter-spacing:.3em;font-family:'Anton',Impact,sans-serif;font-size:17px;line-height:1.4;padding-left:.3em}
#cpGrid .dj-acts{display:flex;align-items:center;gap:10px;padding:18px 2px 4px;border:0;background:transparent}
#cpGrid .dj-acts .dj-play{position:static;transform:none;display:flex;align-items:center;justify-content:center;flex:0 0 46px;width:46px;height:46px;padding:0;border:0;border-radius:50%;color:#e62e2d;background:#fff;opacity:1;box-shadow:none}
#cpGrid .dj-play .i{width:25px;height:25px}
#cpGrid .dj-vote{flex:1;min-width:0;min-height:46px;justify-content:center;font-size:15px;font-weight:800;border-radius:10px;background:#e62e2d;color:#fff;border:1px solid #e62e2d}
#cpGrid .dj-vote:disabled{background:#26262a;border-color:#303034;color:#888;opacity:1;cursor:default}
#cpGrid .dj-gift,#cpGrid .dj-share{display:flex;align-items:center;justify-content:center;flex:0 0 43px;min-width:43px;height:46px;padding:0;border:1px solid #3b3b40;border-radius:10px;background:transparent;color:#ddd}
#cpGrid button:focus-visible{outline:2px solid #f0d27a;outline-offset:4px}#cpGrid .dj-promotion{color:#bbb;font-size:11px;padding:8px 4px 0}
@media(min-width:1600px){#cpGrid.dj-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){#cpGrid.dj-grid{grid-template-columns:1fr;gap:20px}#cpGrid .dj{max-width:520px;width:100%;margin-inline:auto}#cpGrid .dj-gold-name{font-size:clamp(40px,14vw,78px)}#cpGrid .dj-gold-name.long-name{font-size:clamp(28px,7vw,44px)}#cpGrid .dj-identity{bottom:22px;gap:16px}#cpGrid .dj-ttd-logo{width:50px;height:65px}}

/* Match the app's 4:5.6 portrait poster and metallic frame. */
#cpGrid .dj{padding:10px;background:#080809;border-radius:8px}
#cpGrid .dj-poster{aspect-ratio:4/5.6;border:2px solid transparent;border-radius:3px;background:linear-gradient(#0b0b0d,#0b0b0d) padding-box,linear-gradient(135deg,#f8e3a1,#c8983c 35%,#8c6420 70%,#e9cc7c) border-box}
#cpGrid .dj-portrait{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;z-index:-1}
#cpGrid .dj-poster:after{background:linear-gradient(180deg,#0005 0%,transparent 50%,#000b 78%,#000f 100%)}
#cpGrid .dj-ttd-logo{top:12px;left:12px;width:20%;height:auto;max-width:78px;object-fit:contain;filter:none}
#cpGrid .dj-gold-name{background-image:linear-gradient(180deg,#fff1a6,#ffd84d 55%,#f2b705);font-weight:400;letter-spacing:-.01em}
#cpGrid .dj-identity{bottom:24px;gap:14px}
#cpGrid .dj-plays{top:12px;right:12px;font-size:12px;padding:6px 9px}
@media(max-width:700px){#cpGrid .dj{padding:10px}#cpGrid .dj-ttd-logo{width:20%;height:auto;max-width:78px}#cpGrid .dj-gold-name{font-size:clamp(42px,15vw,80px)}}
#cpGrid .dj-portrait{z-index:0}#cpGrid .dj-poster:after{z-index:1}

/* Preserve the full artist name on one line at every card width. */
#cpGrid .dj-gold-name,#cpGrid .dj-gold-name.long-name{width:100%;max-width:100%;white-space:nowrap;overflow-wrap:normal;word-break:normal;font-size:clamp(24px,3.5vw,48px);line-height:1.15}
#cpGrid .dj-country-flag{flex-shrink:0;object-fit:contain;background:#fff;width:48px;height:33px}
@media(max-width:700px){#cpGrid .dj-gold-name,#cpGrid .dj-gold-name.long-name{font-size:clamp(26px,9vw,48px)}}

.cp-card-sponsors{margin-top:12px;padding-top:10px;border-top:1px solid #ffffff16}.cp-card-sponsors>small{display:block;text-align:center;letter-spacing:2px;font-size:8px;margin-bottom:7px;color:#d7ad50}.cp-card-sponsors.silver>small{color:#bfc6d1}.cp-card-sponsors>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.cp-card-sponsors.silver>div{grid-template-columns:repeat(3,minmax(0,1fr))}.cp-sponsor-tile{display:flex;align-items:center;justify-content:center;padding:8px;border-radius:8px;background:#000;border:1px solid #d4a94a66;min-width:0;text-decoration:none;color:#fff}.silver .cp-sponsor-tile{border-color:#9aa0a666}.cp-sponsor-tile img{max-width:100%;width:auto;height:42px;object-fit:contain}.cp-card-sponsors.silver img{height:32px}

/* Competition screen: app schedule, tabs and sponsor hierarchy. */
.cp-app-heading{display:flex;align-items:center;gap:12px;margin:10px 0 20px}.cp-app-heading h1{font-size:26px;margin:0;font-weight:800}.cp-app-mark{display:grid;place-items:center;background:#e62e2d;color:white;width:36px;height:36px;border-radius:50%;font-size:24px}
#cpHero{background:linear-gradient(125deg,#b71c1c,#e62e2d 55%,#ff3b30);padding:22px;border-radius:0 0 24px 24px;margin:0 0 18px;color:white}
#cpHero:before,#cpHero:after{display:none}#cpHero h1{font-size:23px;line-height:1.35;margin:8px 0 14px}#cpHero .cp-desc,#cpHero .cp-more,#cpHero .ex-kicker{display:none!important}#cpHero .ex-meta{font-size:11px;margin:0 0 12px;opacity:.9}
.cp-schedule{margin:0;display:grid;gap:8px}.cp-schedule>div{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.cp-schedule dt{font-size:13px;color:#ffe4e4}.cp-schedule dd{font-size:13px;font-weight:700;margin:0;white-space:nowrap}.cp-rules-button{display:block;width:100%;min-height:46px;margin-top:18px;border:1px solid #ffffffa0;border-radius:999px;background:transparent;color:white;font-weight:700;font-size:16px}
.cp-app-tabs{display:flex;overflow-x:auto;gap:14px;border-bottom:1px solid #333;margin:0 0 12px;scrollbar-width:none;position:sticky;top:70px;background:var(--bg,#000);z-index:8}.cp-app-tabs button{flex:1;white-space:nowrap;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--text3,#9ca3af);font-size:14px;font-weight:600;padding:16px 8px 14px;min-height:48px;cursor:pointer}.cp-app-tabs button[aria-selected="true"]{border-color:#e62e2d;color:#e62e2d}.cp-app-tabs button:focus-visible{outline:2px solid #e62e2d;outline-offset:-4px}
.cp-vote-help{font-size:13px;line-height:1.6;color:var(--text3,#9ca3af);margin:12px 0 18px}.cp-silver-sponsors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:28px}.cp-silver-sponsors .cp-sponsor-tile{border-color:#8889;height:58px}.cp-silver-sponsors img{height:auto;max-height:38px;width:100%;object-fit:contain}.cp-dj-count{display:none!important}
#cpGrid .dj{background:transparent;border:0;border-radius:0;padding:0}#cpGrid .dj-poster{border-radius:0;aspect-ratio:4/5.35}#cpGrid .dj-acts{padding:12px 0 0;gap:10px}#cpGrid .dj-vote{border-radius:11px;min-height:46px}#cpGrid .dj-vote:disabled{color:#a1a1aa}#cpGrid .dj-gold-name{font-family:'Anton',Impact,sans-serif!important;font-size:clamp(30px,5vw,68px)}#cpGrid .dj-country-name{font-family:'Inter',sans-serif;font-size:13px;letter-spacing:.38em;font-weight:600}#cpGrid .dj-country-flag{width:40px;height:44px;object-fit:fill;border:2px solid #d8b65a;clip-path:polygon(0 0,100% 0,100% 65%,85% 85%,50% 100%,15% 85%,0 65%);background:transparent;box-sizing:border-box}
.cp-card-support{display:flex;gap:9px;margin:24px 0 32px}.cp-card-support>div{flex:1;min-width:0}.cp-card-support>div.platinum{flex:2}.cp-card-support .cp-sponsor-tile{height:58px;box-sizing:border-box}.cp-card-support img{width:100%;height:36px;object-fit:contain}.cp-sponsor-tier{width:100%;margin:16px 0 24px}.cp-sponsor-tier>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cp-sponsor-tier img{height:44px}.cp-mix-row{display:flex;align-items:center;gap:12px;width:100%;border:0;border-bottom:1px solid #333;background:transparent;color:var(--text);padding:14px 0;text-align:start;cursor:pointer}.cp-mix-row img{width:52px;height:52px;object-fit:cover;border-radius:8px}.cp-mix-row>span:nth-child(2){flex:1;min-width:0}.cp-mix-row b{display:block}.cp-mix-row small{display:block;margin-top:5px;color:var(--text3);font-size:11px}.cp-mix-play{display:grid;place-items:center;background:#e62e2d;color:white;width:40px;height:40px;border-radius:50%}.cp-past-row{display:block;color:var(--text);padding:18px;border:1px solid #333;border-radius:14px;margin:12px 0;text-decoration:none}.cp-past-row small{display:block;color:var(--text3);margin-top:6px}
.cp-tab-panel[hidden],.cp-vote-panel[hidden]{display:none!important}#cpRulesSheet .ex-sheet-box{overflow-y:auto;max-height:85dvh}#cpRulesSheet p{line-height:1.7;color:var(--text2,#bbb);font-size:14px}
@media(max-width:700px){.cp-app-heading{margin:8px 6px 18px}.cp-app-heading h1{font-size:24px}#cpHero{padding:18px;border-radius:0 0 22px 22px}#cpHero h1{font-size:20px}.cp-app-tabs{gap:12px;top:62px;margin-inline:-14px;padding-inline:14px}.cp-app-tabs button{flex:none;min-width:62px;font-size:14px}.cp-schedule dt,.cp-schedule dd{font-size:12px}#cpGrid .dj{width:100%;max-width:520px;padding:0}#cpGrid .dj-gold-name{font-size:clamp(32px,13vw,72px)}#cpGrid.dj-grid{gap:12px}#cpGrid .dj-identity{bottom:24px;gap:12px}.cp-card-support{gap:8px}.cp-card-support .cp-sponsor-tile{height:58px;padding:7px}.cp-card-support img{height:32px}.cp-sponsor-tier>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 body:has(#cpAppTabs) .topbar{display:none!important}
 body:has(#cpAppTabs) .cp-app-heading{position:sticky;top:0;z-index:12;min-height:64px;box-sizing:border-box;margin:0;padding:14px 6px;background:var(--bg,#000)}
 body:has(#cpAppTabs) .cp-app-tabs{top:64px}
}
#cpHero .cp-rules-button{border-radius:999px!important;box-shadow:none!important}
@media(max-width:700px){body:has(#cpAppTabs) #browserPushButton{top:14px!important;right:18px!important;width:auto!important;max-width:140px;height:36px!important;padding:0 10px!important;min-width:0!important;font-size:10px!important;display:grid!important;place-items:center;border-radius:18px!important}body:has(#cpAppTabs) #browserPushButton:before{content:none}}
