:root{--bg:#fefeff}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:#000;font-family:Helvetica,Arial,sans-serif;-webkit-tap-highlight-color:transparent}
body{padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)}
img{display:block;height:auto}
a{display:block}
a:focus-visible{outline:3px solid #000;outline-offset:3px}
.home{display:flex;flex-direction:column;align-items:center;gap:clamp(8px,2.5vh,24px);padding:clamp(20px,8vh,80px) 16px 32px}
.btn{width:min(56vw,260px);transition:transform .15s}
.btn img{width:100%}
.btn:active{transform:scale(.95)}
@media(hover:hover){.btn:hover{transform:scale(1.04)}}
.page{display:flex;width:100%;max-width:480px;margin:0 auto;padding:clamp(16px,6vh,60px) 0 48px;flex-direction:column;align-items:center}
.page img{width:100%}
.homelink{width:42.6%;margin-bottom:3.5%}
.title{width:92%;margin-bottom:3.5%}
.city{margin-bottom:1.6%;transition:transform .15s;cursor:pointer}
.city:active{transform:scale(.97)}
@media(hover:hover){.city:hover{transform:scale(1.03)}}
@media(prefers-reduced-motion:reduce){.btn,.city{transition:none}}
.loader{position:fixed;inset:0;z-index:999;background:var(--bg);display:none;align-items:center;justify-content:center;cursor:progress}
.loader.on,html.rb-loading .loader{display:flex}
.loader img{width:min(92vw,460px);animation:pulse 1.25s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(1.05)}}
@media(prefers-reduced-motion:reduce){.loader img{animation:none}}
.music{container-type:inline-size;min-height:100vh;min-height:100svh;justify-content:center;padding:0 0 4cqw}
.music img{width:100%}
.timer{display:flex;justify-content:center;gap:1.7cqw;margin-bottom:6.3cqw;width:100%}
.tile{position:relative;flex:none}
.tile img{width:100%}
.num{position:absolute;left:0;right:0;top:0;height:69%;display:flex;align-items:center;justify-content:center;font-family:Anton,Impact,sans-serif;font-size:12cqw;line-height:1;color:#d9d5c9;font-variant-numeric:tabular-nums;transform:translateY(0em)}
.notify{padding:0;border:0;background:none;cursor:pointer;transition:transform .15s}
.notify:active{transform:scale(.95)}
@media(hover:hover){.notify:hover{transform:scale(1.04)}}
.notify:focus-visible,.x:focus-visible,.go:focus-visible,#email:focus-visible{outline:3px solid #d9d5c9;outline-offset:3px}
.sheet{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:20px}
.sheet[hidden]{display:none}
.panel{position:relative;width:100%;max-width:380px;background:#000;color:#d9d5c9;padding:34px 22px 24px;text-align:center;border:4px solid #d9d5c9;outline:4px solid #000}
.panel h2{font-family:Anton,Impact,sans-serif;font-weight:400;font-size:2.4rem;line-height:1;margin:0 0 10px;letter-spacing:.01em}
.hint{margin:0 0 18px;font-size:.95rem;line-height:1.35}
.x{position:absolute;top:6px;right:10px;background:none;border:0;color:#d9d5c9;font-size:2rem;line-height:1;cursor:pointer;padding:4px 8px}
#email{width:100%;padding:14px;font:inherit;font-family:Anton,Impact,sans-serif;font-size:1.1rem;letter-spacing:.04em;background:#d9d5c9;color:#000;border:0;border-radius:0;text-align:center}
#email::placeholder{color:#6b685f}
.err{min-height:1.3em;margin:8px 0;font-size:.9rem;color:#ff8a80}
.go{width:100%;padding:14px;font-family:Anton,Impact,sans-serif;font-size:1.25rem;letter-spacing:.04em;background:#d9d5c9;color:#000;border:0;border-radius:0;cursor:pointer}
.go[disabled]{opacity:.6;cursor:progress}
.done h2{margin-bottom:6px}
@media(prefers-reduced-motion:reduce){.notify{transition:none}}
.shop{container-type:inline-size;min-height:100vh;min-height:100svh;justify-content:center;padding:0 0 4cqw}
.music.vid{max-width:960px;padding:0 0 4cqw}
.music.vid .homelink{width:min(40vw,180px)!important;margin-bottom:clamp(16px,4vh,32px)!important}
.mvid{width:100%;padding:0 16px;display:flex;flex-direction:column;align-items:center}
.mvid video{display:block;width:100%;height:auto;max-height:78vh;max-height:78svh;aspect-ratio:16/9;object-fit:contain;background:#000}
.merr{margin:12px 0 0;font-size:.95rem;text-align:center}
#landing{position:fixed;inset:0;z-index:1200;background:#fff;display:flex;align-items:center;justify-content:center;transition:opacity .8s ease}
#landing.out{opacity:0;pointer-events:none}
#landing .lbtn{display:block;padding:0;margin:0;border:0;background:none;width:min(100vw,1200px);max-height:100vh;max-height:100svh;cursor:default;transition:transform .3s ease;-webkit-tap-highlight-color:transparent}
#landing video,#landing canvas{display:block;width:100%;height:auto;max-height:100vh;max-height:100svh;object-fit:contain;pointer-events:none;background:#fff}
#landing canvas{display:none;aspect-ratio:16/9}
#landing.fb video{display:none}
#landing.fb canvas{display:block}
#landing video::-webkit-media-controls,#landing video::-webkit-media-controls-start-playback-button,#landing video::-webkit-media-controls-overlay-play-button,#landing video::-webkit-media-controls-panel{display:none!important;-webkit-appearance:none}
#landing.ready .lbtn{cursor:pointer}
@media(hover:hover){#landing.ready .lbtn:hover{transform:scale(1.03)}}
#landing.ready .lbtn:active{transform:scale(.98)}
#landing .lbtn:focus-visible{outline:3px solid #000;outline-offset:-3px}
html.landing-lock,html.landing-lock body{overflow:hidden}
html.rb-skip-landing #landing{display:none}
@media(prefers-reduced-motion:reduce){#landing .lbtn{transition:none}}
.basic{text-align:center;gap:16px;padding-left:16px;padding-right:16px}
.basic .homelink{width:min(40vw,180px);margin-bottom:0}
.basic h1{font-family:Anton,Impact,sans-serif;font-weight:400;font-size:2.4rem;line-height:1.1;margin:8px 0 0;text-transform:uppercase}
.basic p,.basic__body{margin:0;max-width:34ch;line-height:1.4}
.basic__body{max-width:60ch;text-align:left;width:100%}
.basic__form{display:flex;flex-direction:column;gap:12px;width:100%;max-width:320px}
.basic__form input{width:100%;padding:14px;font-family:Anton,Impact,sans-serif;font-size:1.1rem;letter-spacing:.04em;background:#d9d5c9;color:#000;border:0;border-radius:0;text-align:center}
.basic__form button{width:100%;padding:14px;font-family:Anton,Impact,sans-serif;font-size:1.25rem;letter-spacing:.04em;background:#000;color:#d9d5c9;border:0;border-radius:0;cursor:pointer}
.basic__form .errors{color:#b00020;font-size:.9rem;margin:0}
