body.jammin-welcome{position:relative;isolation:isolate;background:#020403}
/* Light moves behind the interface; text and hit areas remain still. */
.jammin-welcome::before,.jammin-welcome::after{
 content:"";position:fixed;pointer-events:none;z-index:-1;left:50%;top:43%;
 width:min(1120px,155vw);height:min(820px,100vh);
 background:radial-gradient(ellipse,rgba(115,187,164,.17),rgba(85,123,153,.045) 42%,transparent 69%);
 opacity:.26;transform:translate(-50%,-50%) scale(.94);
 animation:welcome-breathe 9s cubic-bezier(.45,0,.55,1) infinite;
}
.jammin-welcome::after{left:62%;top:54%;width:min(800px,112vw);background:radial-gradient(ellipse,rgba(184,154,113,.09),transparent 66%);animation-delay:-4.5s}
@keyframes welcome-breathe{
 0%,100%{opacity:.26;transform:translate(-50%,-50%) scale(.94)}
 50%{opacity:.78;transform:translate(-50%,-51%) scale(1.045)}
}
.welcome-stage{width:min(100% - 40px,760px);margin-top:clamp(155px,24vh,235px)}
.welcome-stage .people-message{min-height:150px}
.welcome-stage h1{font-size:clamp(29px,4vw,42px);letter-spacing:-.045em;line-height:1.17}
.welcome-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:30px;min-height:0}
.welcome-choices button{
 position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;
 min-width:0;min-height:0;aspect-ratio:1/1.12;padding:22px 12px;
 border:1px solid #d6f3e612;border-radius:26px;background:#010302;color:#edf4f1;
 font:inherit;cursor:pointer;transition:border-color .55s ease,box-shadow .55s ease;
}
.welcome-choices button::after{content:"";position:absolute;inset:50% 0 0;z-index:0;background:linear-gradient(transparent,#010302e8);pointer-events:none}
.welcome-choices img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none;transition:transform 1.2s cubic-bezier(.22,.8,.25,1)}
.welcome-choices strong{position:relative;z-index:1;font-size:15px;font-weight:450;letter-spacing:-.015em}
.welcome-choices .mode-soon{position:absolute;z-index:1;top:15px;right:16px;color:#aabdb480;font-size:10px;letter-spacing:.025em}
.welcome-choices button:focus-visible,.online-options a:focus-visible,.online-options button:focus-visible{outline:2px solid #d5f1e6;outline-offset:4px}
@media(hover:hover){.welcome-choices button:hover{border-color:#d5f1e64d;box-shadow:0 0 32px #a1e3cd08}.welcome-choices button:hover img{transform:scale(1.035)}}
.online-options{min-height:195px;margin-top:30px;color:#8e9a96;line-height:1.7}
.online-options a{display:block;width:fit-content;margin:22px auto 14px;color:#d5f1e6;text-decoration:none}
.online-options button{background:none;border:0;color:#8e9a96;font:inherit;font-size:13px;cursor:pointer}
@media(max-width:600px){
 .welcome-stage{width:calc(100% - 28px);margin-top:145px}
 .welcome-choices{gap:8px;margin-top:24px}
 .welcome-choices button{aspect-ratio:1/1.38;padding:16px 6px;border-radius:18px}
 .welcome-choices strong{font-size:12px}
 .welcome-choices .mode-soon{top:10px;right:10px;font-size:8px}
 .welcome-stage .people-message{min-height:150px}
 .welcome-stage .people-message .quiet-copy{min-height:30px}
}
@media(prefers-reduced-motion:reduce){
 .jammin-welcome::before,.jammin-welcome::after{animation:none;opacity:.4;transform:translate(-50%,-50%)}
 .welcome-choices button,.welcome-choices img{transition:none}
}
