.launch-button { background: transparent; border: 0; cursor: pointer; height: 196px; padding: 0; position: relative; width: 196px; }.launch-button:disabled { cursor: default; }.launch-button:focus-visible { outline: 2px solid #f3dfa0; outline-offset: 14px; }
.launch-button-ring { animation: button-ripple 3s ease-out infinite; border: 1px solid rgba(224,195,105,.42); border-radius: 50%; inset: 0; position: absolute; }.launch-button-ring--two { animation-delay: -1s; inset: -22px; }.launch-button-ring--three { animation-delay: -2s; inset: -46px; }
.launch-button-core { align-items: center; background: radial-gradient(circle at 50% 20%, #faedbd 0, #e5c76e 35%, #c99b35 68%, #9b6b18 100%); border: 3px solid #f7e7af; border-radius: 50%; box-shadow: 0 0 62px rgba(218,183,86,.43), inset 0 0 0 7px rgba(87,53,4,.13), inset 0 -18px 30px rgba(104,66,7,.15); color: #062c24; display: flex; flex-direction: column; inset: 8px; justify-content: center; overflow: hidden; position: absolute; transition: .3s ease; }.launch-button-core::before { border: 1px solid rgba(72,45,4,.25); border-radius: 50%; content: ""; inset: 10px; pointer-events: none; position: absolute; }.launch-button-core::after { background: radial-gradient(ellipse at center, rgba(255,255,255,.42), transparent 68%); content: ""; height: 58px; left: 22%; pointer-events: none; position: absolute; right: 22%; top: 4px; }.launch-button:hover .launch-button-core { box-shadow: 0 0 95px rgba(232,200,109,.65), inset 0 0 0 7px rgba(84,52,4,.08); transform: scale(1.045); }.launch-button-core b,.launch-button-core strong,.launch-button-core em { position: relative; z-index: 1; }.launch-button-core b { display: block; font-size: 37px; font-weight: 900; letter-spacing: 0; line-height: 1.35; overflow: visible; padding: .08em .08em .02em; }.launch-button-core strong { color: rgba(5,43,35,.84); display: block; font-size: 16px; font-weight: 800; line-height: 1.35; margin-top: -2px; }.launch-button-core em { color: #173f34; display: block; font-size: 9px; font-style: normal; line-height: 1; margin-top: 9px; }
.launch-hint { color: rgba(255,255,255,.25); font-size: 8px; margin-top: 42px; }
.launch-reveal { align-items: center; display: flex; flex-direction: column; max-width: 1100px; opacity: 0; padding: 45px 24px 25px; pointer-events: none; position: absolute; text-align: center; transform: scale(.84); visibility: hidden; width: 100%; z-index: 8; }
.reveal-crown { margin-bottom: 13px; }.reveal-crown span { border: 1px solid rgba(222,192,99,.5); border-radius: 50%; color: #e4c873; display: grid; height: 31px; place-items: center; width: 31px; }
.reveal-logo { height: clamp(145px, 22vh, 200px); margin-bottom: 17px; position: relative; width: clamp(310px, 36vw, 460px); }.reveal-logo img { background: transparent; border: 0; box-shadow: none; filter: brightness(1.5) saturate(1.18) drop-shadow(0 8px 18px rgba(0,0,0,.28)) drop-shadow(0 0 12px rgba(228,196,99,.25)); height: 100%; object-fit: contain; padding: 0; position: relative; width: 100%; z-index: 2; }
.reveal-kicker { color: #e4c873; font-size: 10px; letter-spacing: 0; }.launch-reveal h2 { font-size: clamp(36px, 4.4vw, 64px); font-weight: 800; letter-spacing: 0; line-height: 1.22; margin: 9px 0 10px; overflow: visible; }.launch-reveal h2 b { background: linear-gradient(100deg,#b78727,#f4dda0,#bd8f30);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block;line-height:1.24;padding:0 .04em .08em }.launch-reveal > p { color: rgba(255,255,255,.58); font-size: clamp(12px,1.25vw,17px); line-height: 1.8; margin: 0; max-width: 720px; }
.launch-film { background: #000; inset: 0; opacity: 0; pointer-events: none; position: absolute; visibility: hidden; z-index: 25; }.launch-film video { height: 100%; object-fit: contain; width: 100%; }.film-vignette { box-shadow: inset 0 0 130px #000; inset: 0; pointer-events: none; position: absolute; }.film-sound { background: rgba(6,41,34,.88); border: 1px solid #d9ba62; border-radius: 999px; bottom: 28px; color: white; left: 50%; padding: 11px 18px; position: absolute; transform: translateX(-50%); z-index: 2; }
.launch-fallback, .launch-ending { align-items: center; display: flex; flex-direction: column; opacity: 0; padding: 40px 24px; pointer-events: none; position: absolute; text-align: center; visibility: hidden; z-index: 28; }.launch-fallback > span { color: #e4c873; font-size: 30px; }.launch-fallback h2, .launch-ending h2 { font-size: clamp(42px,6vw,82px); margin: 12px 0 7px; }.launch-fallback p, .launch-ending p { color: rgba(255,255,255,.56); font-size: 12px; }.launch-fallback a, .launch-ending a, .launch-ending button { background: linear-gradient(135deg,#efd993,#b88627); border: 0; border-radius: 4px; color: #092d25; display: inline-block; font-family: inherit; font-size: 10px; margin-top: 22px; padding: 13px 21px; }.launch-ending img { background: transparent; border: 0; padding: 0; width: 270px; }.launch-ending div { display: flex; gap: 8px; }.launch-ending button { background: transparent; border: 1px solid rgba(255,255,255,.25); color: white; }
.launch-flash { background: #fff4c6; inset: 0; opacity: 0; pointer-events: none; position: absolute; z-index: 40; }.launch-burst { left: 50%; pointer-events: none; position: absolute; top: 54%; z-index: 35; }.launch-burst i { --angle:0deg; --distance:300px; --delay:0s; --size:4px; animation: spark-burst 1.25s cubic-bezier(.1,.7,.2,1) var(--delay) both; background: #f3d67d; border-radius: 50%; box-shadow: 0 0 15px #e5bd50; height: var(--size); left: 0; position: absolute; top: 0; transform: rotate(var(--angle)) translateY(0); width: var(--size); }
.is-launching .launch-intro { animation: intro-ignite 1.25s ease both; }.is-launching .launch-flash { animation: ceremonial-flash 1.2s ease .65s both; }.is-revealed .launch-reveal { animation: reveal-logo 1.5s cubic-bezier(.16,.8,.18,1) both; pointer-events: auto; visibility: visible; }.is-film .launch-film { animation: film-in 1s ease both; pointer-events: auto; visibility: visible; }
