/* Separate pink variants; the approved Launch Kit originals are untouched. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.metal-lettering{display:block;background-image:url('assets/lettering-pink-v2.webp');background-repeat:no-repeat;background-clip:border-box;-webkit-background-clip:border-box;color:transparent;text-shadow:none;filter:drop-shadow(0 4px 7px #0009)}
.ticker{width:clamp(300px,31.5vw,465px);aspect-ratio:1300/235;flex-shrink:0;background-size:118.153846% auto;background-position:55.084746% 69.074778%;font-size:0}
.brand-title{width:clamp(360px,37vw,520px);aspect-ratio:1360/520;height:auto;margin:4px 0 0;background-size:112.941176% auto;background-position:56.818182% 5.952381%;font-size:0;line-height:0;flex-shrink:0}
.tagline{width:min(510px,60vw);aspect-ratio:1410/234;max-width:none;background-size:108.93617% auto;background-position:51.587302% 100%;font-size:0;line-height:0;margin:0 0 2px;flex-shrink:0}
.stage{width:min(1480px,100%,calc((100svh - 340px)*1.85));min-width:400px}
.metal-button:hover,.metal-button:focus-visible{--button-image:url('assets/button-hover-pink-v2.webp');filter:brightness(1.12);color:white}
.metal-button:hover::before,.metal-button:focus-visible::before,.metal-button:active::before{background-image:url('assets/button-hover-pink-v2.webp');background-size:100% 150%}
.metal-button:active{transform:scale(.985);filter:brightness(1.06)}
.metal-button:focus-visible{outline-color:#f33195}
.silverback{right:auto;bottom:auto;transform-origin:23% 20.5%;animation:contact-breathing 6s ease-in-out infinite}
@keyframes contact-breathing{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.012)}}
.ticker:focus-visible{outline:2px solid #f33195;outline-offset:4px}
@media(min-width:1000px) and (max-height:830px){
 .brand-title{width:410px;font-size:0;margin-top:2px}
 .stage{width:min(1320px,calc((100svh - 310px)*1.85))}
 .tagline{width:440px}
}
@media(max-width:700px){
 .arena{padding-top:17px;background-color:#100b12;background-image:linear-gradient(#05040b25,#08051018 65%,#0b050a70),url('assets/arena.webp');background-size:100% 100%,auto var(--ring-scene-height,800px);background-position:0 0,center var(--ring-scene-top,-160px);background-repeat:no-repeat}
 header{gap:11px}
 .ticker{width:min(352.5px,100%);font-size:0}
 .brand-title{width:min(390px,104%);max-width:104%;font-size:0;margin:18px 0 0}
 .stage{min-width:0;width:100%;aspect-ratio:1.5;margin:5px 0 0}
 .monitor{width:98%;left:-2%;bottom:0}
 .silverback{width:40%;right:auto;bottom:auto;z-index:4;animation-name:grounded-breathing}
 .tagline{width:min(390px,104%);max-width:104%;font-size:0;margin:16px 0 0}
 .sound-control{left:28%;font-size:10px}
}
@keyframes grounded-breathing{0%,100%{transform:scaleX(1)}50%{transform:scaleX(1.006)}}
@media(prefers-reduced-motion:reduce){.silverback{animation:none}}

#ring-video{cursor:pointer}
#ring-video:focus-visible{outline:4px solid var(--pink);outline-offset:-4px}
#meme-viewer{width:min(720px,calc(100% - 24px));max-height:calc(100svh - 24px);padding:16px;border:1px solid #f3319570;border-radius:6px;background:#100b12;color:#eee;box-shadow:0 0 50px #000;margin:auto}
#meme-viewer::backdrop{background:#000d;backdrop-filter:blur(5px)}
.meme-bar,.meme-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}
.meme-bar h2{margin:0;color:var(--pink);font:24px Impact,'Arial Narrow',sans-serif;letter-spacing:.08em}
#meme-viewer button{width:44px;height:44px;background:#20141d;color:#fff;border:1px solid #73425b;border-radius:3px;font-size:24px;cursor:pointer}
#meme-viewer button:hover{background:#f33195;color:#100b12}
#meme-viewer button:focus-visible{outline:2px solid var(--pink);outline-offset:3px}
#meme-viewer button:disabled{opacity:.35;cursor:default}
.meme-image-wrap{display:grid;place-items:center;margin:12px 0;min-height:100px}
#meme-image{display:block;max-width:100%;max-height:calc(100svh - 180px);object-fit:contain}
#meme-count{font:14px monospace;color:#efc2d7}
body.meme-is-open{overflow:hidden}
@media(min-width:701px) and (max-width:900px){header{flex-wrap:wrap}.project-controls{margin-left:auto}}
