*{box-sizing:border-box}body{margin:0;background:#030919;color:#eee4cd;font-family:Arial,sans-serif}button,select{font:inherit}button{cursor:pointer}header{position:relative;isolation:isolate;text-align:center;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#16243e 0,#060e22 47%,#020614 100%);padding:38px 5% 0}.stars{position:absolute;inset:0;z-index:-1}.star{position:absolute;background:#f8ce72;border-radius:50%;box-shadow:0 0 9px #e9b84d;animation:twinkle var(--t) ease-in-out infinite alternate}@keyframes twinkle{from{opacity:.18;transform:scale(.6)}to{opacity:1;transform:scale(1.3)}}.eyebrow{font-size:10px;letter-spacing:5px;text-transform:uppercase;color:#c6a668;margin-bottom:17px}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(28px,4.4vw,66px);margin:0;background:linear-gradient(#fff0b5,#e8b64e 55%,#ad7722);background-clip:text;color:transparent;text-shadow:0 6px 25px #c4932522} .globe-wrap{position:relative;max-width:520px;margin:12px auto 0}canvas{width:100%;aspect-ratio:1;touch-action:none;cursor:grab;filter:drop-shadow(0 0 24px #dca83825)}canvas:active{cursor:grabbing}.turn{position:absolute;top:47%;color:#c9a34c;font-size:32px;pointer-events:none}.left{left:-7%}.right{right:-7%}.hint{font-size:12px;letter-spacing:2px;color:#c5ae7e;margin:0 0 20px}.bottom{display:grid;grid-template-columns:1fr 1.5fr 1fr;align-items:center;gap:20px;padding-bottom:26px;border-bottom:1px solid #bd9645}.gold{border:1px solid #bc9446;border-radius:5px;background:linear-gradient(#192238,#050b1b);color:#efcf83;padding:13px 25px;font-family:Georgia,serif;font-size:18px;box-shadow:inset 0 1px #ffe5a133,0 0 15px #d8ac3910}.gold:hover{background:#26334c;box-shadow:0 0 18px #c99b342b}select{max-width:100%;background:#080f21;border:1px solid #756136;color:#edd5a2;border-radius:4px;padding:11px 16px}.selection{font-size:12px;color:#af9f7d;margin-top:8px}main{max-width:1000px;margin:auto;padding:45px 25px 65px;text-align:center}h2{font:400 clamp(28px,4vw,42px) Georgia,serif;color:#e5c47d;margin:10px 0 16px}p{line-height:1.7;color:#b4bac9}.tag{font-size:11px;color:#c6a668;letter-spacing:3px;text-transform:uppercase}.features{display:flex;justify-content:center;gap:50px;margin:32px 0;color:#cab887;font-size:13px}.note{font-size:12px;color:#8993aa}dialog{background:#0b1428;color:#eee4cd;border:1px solid #bb9445;border-radius:10px;max-width:440px;width:90%;padding:32px}dialog::backdrop{background:#000b;backdrop-filter:blur(6px)}dialog h2{font-size:29px}dialog button.close{float:right;border:0;background:none;color:#e6c77f;font-size:25px}label{display:block;font-size:13px;margin-top:20px}input{display:block;width:100%;padding:12px;background:#030a19;border:1px solid #526078;border-radius:4px;color:white;margin-top:8px}dialog .gold{width:100%;margin-top:20px}footer{text-align:center;padding:20px;color:#737e93;font-size:11px}@media(max-width:600px){header{padding-top:25px}.eyebrow{letter-spacing:3px}.globe-wrap{max-width:320px}.bottom{grid-template-columns:1fr 1fr;gap:13px}.country{grid-column:1/-1;grid-row:1}.gold{font-size:16px;padding:12px}.hint{font-size:10px;letter-spacing:1px}.turn.left{left:0}.turn.right{right:0}.features{gap:18px;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.star{animation:none}}

/* Keep the globe and entry controls together on shorter laptop screens. */
header{padding:20px 5% 0}
.eyebrow{margin-bottom:10px}
h1{font-size:clamp(28px,3.7vw,56px)}
.globe-stage{--globe-size:min(390px,calc(100svh - 235px));display:grid;grid-template-columns:1fr var(--globe-size) 1fr;align-items:center;gap:clamp(16px,3vw,44px);max-width:1060px;margin:8px auto 0}
.globe-wrap{grid-column:2;width:100%;max-width:none;margin:0;min-width:0}
canvas{display:block}
.award-trophy{grid-column:1;grid-row:1;justify-self:end;width:clamp(130px,18vw,235px);max-width:100%;max-height:var(--globe-size);object-fit:contain;mix-blend-mode:screen}
.hint{margin:0 0 12px}
.bottom{max-width:1060px;margin:auto;gap:20px;padding-bottom:18px}
.country select{width:100%}
@media(min-width:601px) and (max-height:620px){header{padding-top:12px}.eyebrow{font-size:9px;margin-bottom:6px}h1{font-size:clamp(26px,3.2vw,44px)}.globe-stage{--globe-size:min(330px,calc(100svh - 205px));margin-top:4px}.hint{font-size:10px;margin-bottom:8px}.gold{padding:10px 16px}.selection{font-size:11px}.bottom{padding-bottom:12px}}
@media(max-width:600px){header{padding-top:25px}.globe-stage{position:relative;display:block;max-width:360px;margin:12px auto 0}.globe-wrap{width:82%;max-width:300px;margin:0 0 0 auto}.award-trophy{position:absolute;left:0;bottom:12%;width:27%;max-height:none}.hint{font-size:9px;letter-spacing:.8px;margin:8px 0 16px}.bottom{gap:13px;padding-bottom:24px}.gold{padding:12px}.selection{font-size:11px}}

/* Keep the award beside the artist button and the globe centered. */
.globe-stage{display:block}
.globe-wrap{width:var(--globe-size);margin:0 auto}
.artist-entry{display:flex;align-items:center;gap:12px;min-width:0}
.artist-entry .award-trophy{position:static;width:clamp(83.2px,11.52vw,150.4px);max-width:none;max-height:none;margin:0;transform:none;flex:none}
.artist-entry .gold{flex:1;min-width:0;padding-left:12px;padding-right:12px}
@media(max-width:600px){
.globe-stage{display:block;position:relative}
.globe-wrap{width:82%;margin:12px auto 0}
.artist-entry{gap:7px}
.artist-entry .award-trophy{width:62.4px}
.artist-entry .gold{padding:12px 6px}
.bottom{align-items:center}
}

/* Lift the full trophy above the opening-screen bottom edge. */
@media(min-width:601px){
.artist-entry{position:relative;min-height:64px;padding-left:calc(clamp(83.2px,11.52vw,150.4px) + 12px)}
.artist-entry .award-trophy{position:absolute;left:0;bottom:12px}
}

/* Align desktop controls at the top and trophy base at button bottom. */
@media(min-width:601px){
.bottom{align-items:start;padding-top:10px}
.artist-entry{min-height:0}
.bottom .gold,.country select{height:48px}
.artist-entry .award-trophy{bottom:-6px}
}

/* Listener emblem balances the artist award. */
.listener-entry{position:relative;display:flex;align-items:center;min-width:0;padding-right:calc(clamp(83.2px,11.52vw,150.4px) + 12px)}
.listener-entry .gold{flex:1;min-width:0;padding-left:10px;padding-right:10px}
.listener-symbol{position:absolute;right:0;bottom:-6px;width:clamp(83.2px,11.52vw,150.4px);height:auto;overflow:visible;pointer-events:none;filter:drop-shadow(0 0 9px #d4a73722)}
@media(max-width:600px){.listener-entry{padding-right:69.4px;align-self:center}.listener-symbol{width:62.4px;bottom:0}.listener-entry .gold{padding:12px 6px}}

/* Reduce listener emblem 20% while keeping its base and plug anchored. */
.listener-symbol{transform:scale(.8);transform-origin:left bottom;right:auto;left:calc(100% - clamp(83.2px,11.52vw,150.4px))}
@media(max-width:600px){.listener-symbol{left:calc(100% - 62.4px)}}

/* Mirror the trophy's outside spacing and extend the listener button. */
.listener-symbol{left:auto;right:0;transform-origin:right bottom}
.listener-entry{padding-right:calc(clamp(66.56px,9.216vw,120.32px) + 12px)}
.listener-entry .gold{display:flex;align-items:center;justify-content:center;line-height:1.15}
@media(max-width:600px){.listener-symbol{left:auto;right:0}.listener-entry{padding-right:56.92px}}

/* A gentle headphone pulse suggests sound without moving the clef. */
.headphone-pulse{transform-box:fill-box;transform-origin:center;animation:headphone-sound 2.4s ease-in-out infinite}
@keyframes headphone-sound{0%,48%,100%{transform:translateX(0) scale(1)}8%,24%{transform:translateX(-1px) scale(1.025)}16%,32%{transform:translateX(1px) scale(1.025)}40%{transform:translateX(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.headphone-pulse{animation:none}}

/* Rebalance the visible outside edge after fitting the earpieces. */
.listener-symbol{right:-5px}
.listener-entry{padding-right:calc(clamp(66.56px,9.216vw,120.32px) + 7px)}
@media(max-width:600px){.listener-symbol{right:-2px}.listener-entry{padding-right:54.92px}}

/* Extend only the artist outline to equalize the neighboring gaps. */
@media(min-width:601px){
.artist-entry .gold{position:relative;border-color:transparent;box-shadow:none}
.artist-entry .gold::before{content:"";position:absolute;inset:-1px -1px -1px -14px;border:1px solid #bc9446;border-radius:5px;pointer-events:none;box-shadow:inset 0 1px #ffe5a133,0 0 15px #d8ac3910}
}

/* Center the artist label within the outline extended 13px left. */
@media(min-width:601px){.artist-entry .gold{text-indent:-13px}}

/* Equal login boxes around a narrower centered country selector. */
@media(min-width:601px){
.bottom{grid-template-columns:minmax(0,1fr) minmax(0,360px) minmax(0,1fr)}
.artist-entry{padding-left:calc(clamp(83.2px,11.52vw,150.4px) - 1px)}
.listener-entry{padding-right:calc(clamp(83.2px,11.52vw,150.4px) - 1px)}
.artist-entry .gold{border-color:#bc9446;text-indent:0;display:flex;align-items:center;justify-content:center;line-height:1.15;box-shadow:inset 0 1px #ffe5a133,0 0 15px #d8ac3910}
.artist-entry .gold::before{display:none}
.country select{min-width:0}
}

/* The trophy body stays steady while its globe turns and gold glints appear. */
.trophy-still{display:block;width:100%;height:auto}
.trophy-orb{position:absolute;left:36.5%;top:4.4%;width:27%;height:auto;aspect-ratio:1;pointer-events:none;filter:none;cursor:default}
.trophy-sparkles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.trophy-glint{fill:#fff4c8;opacity:0;filter:drop-shadow(0 0 5px #ffc84f);animation:trophy-glimmer 7.3s ease-in-out infinite}
.glint-two{animation-delay:2.7s}.glint-three{animation-delay:4.8s}
@keyframes trophy-glimmer{0%,8%,22%,100%{opacity:0}13%{opacity:.95}17%{opacity:.3}}
@media(max-width:600px){.artist-entry .award-trophy{position:relative;left:auto;bottom:auto}}
@media(prefers-reduced-motion:reduce){.trophy-glint{animation:none}}



/* Mobile refinement: preserve the desktop visual hierarchy. */
@media(max-width:600px){
 header{padding:24px 15px 0}
 .eyebrow{font-size:9px;letter-spacing:2.2px;margin:0 0 9px}
 h1{font-size:clamp(27px,7.2vw,37px);line-height:1.12;max-width:440px;margin:0 auto;text-wrap:balance}
 .globe-stage{margin:12px auto 0;max-width:340px}
 .globe-wrap{width:min(68vw,265px);max-width:265px;margin:0 auto}
 .turn{font-size:24px;top:45%}
 .turn.left{left:-8%}.turn.right{right:-8%}
 .hint{font-size:9px;letter-spacing:1.1px;margin:10px 0 14px}
 .bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 12px;align-items:center;padding-bottom:18px}
 .artist-entry{grid-column:1;grid-row:1;gap:4px}
 .listener-entry{grid-column:2;grid-row:1;padding-right:36px;min-width:0}
 .artist-entry .award-trophy{width:39px;flex:none}
 .listener-symbol{width:45px;right:-3px;bottom:-2px}
 .artist-entry .gold,.listener-entry .gold{min-width:0;width:100%;min-height:43px;padding:8px 3px;font-size:clamp(12px,3.35vw,15px);line-height:1.1}
 .country{grid-column:1/-1;grid-row:2;width:min(100%,420px);justify-self:center}
 .country select{height:45px;font-size:15px;padding:8px 12px}
 .selection{font-size:11px;margin-top:5px}
 main{padding:28px 20px 40px}
 main h2{font-size:clamp(26px,7vw,34px);line-height:1.2}
 main p{font-size:14px}
 .features{gap:10px 18px}
}
