:root{--c-ink: #fffbe9;--c-ink-dark: #1a3140;--c-eyebrow: rgba(255, 251, 233, .78);--c-cta-primary-bg: #fffbe9;--c-cta-primary-ink: #1a3140;--c-cta-ghost-bg: rgba(255, 251, 233, .08);--c-cta-ghost-bd: rgba(255, 251, 233, .55);--shadow-strong: 0 1px 2px rgba(0, 0, 0, .55), 0 8px 28px rgba(0, 0, 0, .42);--shadow-soft: 0 1px 2px rgba(0, 0, 0, .3);--space: clamp(16px, 5vw, 32px);--display: "Fraunces", "Cormorant Garamond", Georgia, "Times New Roman", serif;--display-feat: "ss01" 1, "ss02" 1, "kern" 1, "liga" 1, "calt" 1;--body: "Inter Tight", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--slide-ms: .76s}[style*=--display],.splash-title,.welcome-title,.welcome-title .amp,.gallery-caption,.bp-modal-name,.rsvp-thanks-title{font-feature-settings:var(--display-feat)}*{box-sizing:border-box}html,body{margin:0;height:100vh;height:100lvh;width:100vw;width:100lvw;background:var(--c-ink-dark);-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--body);color:var(--c-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overscroll-behavior:none;touch-action:manipulation;overflow:hidden;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}input,textarea,[contenteditable],.rsvp-thanks,.gallery-caption,.welcome-line,.welcome-title,.brand-eyebrow{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}#canvas-root,#ui-root{position:fixed;inset:0;width:100%;height:100%}#canvas-root canvas{display:block;width:100%;height:100%}#canvas-root:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 35%,rgba(8,6,14,.18) 75%,rgba(4,3,8,.42) 100%);z-index:1;transition:background .6s ease}body.chapter-gallery #canvas-root:after{background:radial-gradient(ellipse at center,#08060e52,#0403087a 60%,#0403089e)}body.chapter-gallery #canvas-root canvas{filter:saturate(.55) brightness(.78);transition:filter .6s ease}body:not(.chapter-gallery) #canvas-root canvas{filter:none;transition:filter .6s ease}.splash{position:fixed;inset:0;z-index:50;background:linear-gradient(180deg,#1a3140,#2d2438 60%,#503048);display:grid;place-items:center;transition:opacity 1.4s cubic-bezier(.4,0,.2,1),visibility 0s 1.4s;opacity:1;visibility:visible;overflow:hidden}.splash.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.splash-photos{position:absolute;inset:0;z-index:0;overflow:hidden}.splash-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.02) translate(0);transition:opacity 1.6s cubic-bezier(.4,0,.2,1);filter:saturate(1.05) contrast(1.02);--kb-tx: -1.6%;--kb-ty: -1%;--kb-scale-end: 1.1}.splash-photo.is-loaded{opacity:1;animation:splashKenBurns 8.5s cubic-bezier(.32,0,.4,1) forwards}@keyframes splashKenBurns{0%{transform:scale(1.02) translate(0)}to{transform:scale(var(--kb-scale-end, 1.1)) translate(var(--kb-tx, -1.6%),var(--kb-ty, -1%))}}.splash-scrim{position:absolute;inset:0;background:radial-gradient(ellipse 70% 90% at center 50%,transparent 30%,rgba(15,8,5,.55) 100%),radial-gradient(ellipse at center,#140c082e,#140c0880 90%),linear-gradient(180deg,#ffc68c1a,#28192073);pointer-events:none}.splash-inner{position:relative;z-index:2}.splash-inner{text-align:center;padding:0 var(--space);text-shadow:var(--shadow-strong);animation:splashRise 1.2s cubic-bezier(.2,.8,.2,1) both}@keyframes splashRise{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.splash-eyebrow{font-family:var(--body);letter-spacing:.32em;text-transform:uppercase;font-size:clamp(13px,2.8vw,14px);color:#fffbe9c7;margin:0 0 .7em}.splash-title{font-family:var(--display);font-feature-settings:var(--display-feat);font-weight:600;font-size:clamp(26px,8.4vw,56px);letter-spacing:-.005em;line-height:1.06;margin:0;white-space:nowrap;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.65),0 2px 8px rgba(0,0,0,.45)}.splash-title span{font-family:var(--display);font-style:italic;font-weight:400;font-feature-settings:var(--display-feat);margin:0 .06em;color:#fff;font-size:.62em;position:relative;top:-.18em;letter-spacing:.02em}.splash-venue{font-family:var(--body);font-size:clamp(13px,3.4vw,16px);letter-spacing:.06em;margin:1em 0 .4em;opacity:.92;color:var(--c-ink)}.splash-date{font-family:var(--display);font-feature-settings:var(--display-feat);font-weight:500;font-size:clamp(15px,3.8vw,19px);letter-spacing:-.005em;margin:0 0 1.8em;color:#fffbe9f0;text-shadow:0 1px 2px rgba(0,0,0,.55),0 2px 6px rgba(0,0,0,.35)}.splash-date .ord{font-size:.62em;vertical-align:super;margin:0 .06em 0 -.04em;letter-spacing:.04em}.splash-bar{width:clamp(160px,50vw,280px);height:2px;margin:0 auto;background:#fffbe92e;border-radius:999px;overflow:hidden;position:relative}.splash-bar-fill{height:100%;background:linear-gradient(90deg,#fffbe966,#fffbe9f2,#ffdcb4);width:0%;transform-origin:left center;animation:splashLoading 3s cubic-bezier(.4,0,.2,1) both;position:relative}.splash-bar-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.45) 50%,transparent 100%);background-size:60% 100%;background-repeat:no-repeat;animation:splashShimmer 2.4s cubic-bezier(.4,0,.2,1) infinite}@keyframes splashLoading{0%{width:0%}60%{width:70%}to{width:100%}}@keyframes splashShimmer{0%{background-position:-100% 0}to{background-position:200% 0}}@media(prefers-reduced-motion:reduce){.splash-inner,.splash-bar-fill,.splash-bar-fill:after,.splash-photo.is-loaded{animation:none}.splash-photo{transition:opacity .4s ease}}@media(min-width:820px){.splash-photos{left:50%;right:auto;width:min(74vh,50vw);transform:translate(-50%);border-radius:20px;box-shadow:0 30px 80px #0a060480}.splash-title{font-size:clamp(44px,6vw,80px)}.splash-bar{width:clamp(240px,26vw,380px)}.gallery{top:clamp(214px,24vh,260px)}}#ui-root{pointer-events:none}#ui-root>*{pointer-events:auto}.overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-start;padding:max(env(safe-area-inset-top,0px),var(--space)) var(--space) max(env(safe-area-inset-bottom,0px),calc(var(--space) + 64px));pointer-events:none}.gallery{position:fixed;top:clamp(170px,21svh,232px);bottom:max(env(safe-area-inset-bottom,0px),64px);left:50%;transform:translate(-50%);width:min(94vw,560px);pointer-events:none;visibility:hidden;z-index:4;opacity:0;transition:opacity .7s ease,transform .9s cubic-bezier(.2,.8,.2,1),visibility 0s linear .7s;container-type:size;display:flex;align-items:center;justify-content:center}.gallery.is-visible{opacity:1;pointer-events:auto;visibility:visible;transform:translate(-50%) translateY(-10px);transition:opacity .7s ease,transform .9s cubic-bezier(.2,.8,.2,1),visibility 0s linear 0s}.gallery-frame{--gallery-ar: .74;position:relative;width:min(100cqw,100cqh * var(--gallery-ar));height:min(100cqh,100cqw / var(--gallery-ar));background:#ffffff29;backdrop-filter:blur(36px) saturate(1.7);-webkit-backdrop-filter:blur(36px) saturate(1.7);border-radius:18px;border:1px solid rgba(255,255,255,.42);box-shadow:inset 0 1px #ffffff9e,0 4px 14px #140c0847,0 22px 56px #140c086b}.gallery-photo-window{position:absolute;inset:6px;overflow:hidden;border-radius:14px;box-shadow:inset 0 0 0 1px #00000038,0 1px 2px #00000014}.gallery-photo-backdrop{position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;filter:blur(34px) saturate(1.3) brightness(.5);transform:scale(1.22);pointer-events:none}.gallery-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;--kb-fx: 50%;--kb-fy: 42%;object-position:var(--kb-fx) var(--kb-fy);transform-origin:var(--kb-fx) var(--kb-fy);opacity:0;transform:scale(1) translate(0);transition:opacity .85s cubic-bezier(.45,.05,.25,1);filter:saturate(1.06) contrast(1.03) sepia(.06);--kb-tx: 0%;--kb-ty: 0%;--kb-scale-end: 1.06}.gallery-img.is-active{opacity:1;animation:galleryKenBurns 6s cubic-bezier(.42,0,.58,1) forwards}@keyframes galleryKenBurns{0%{transform:scale(1) translate(0)}to{transform:scale(var(--kb-scale-end, 1.06)) translate(0)}}.gallery-caption{position:absolute;left:50%;bottom:14px;transform:translate(-50%);max-width:calc(100% - 28px);padding:5px 14px;text-align:center;background:#fff8e82e;backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);border:1px solid rgba(255,255,255,.22);border-radius:999px;box-shadow:0 4px 14px #140c082e;font-family:var(--display);font-weight:500;font-style:italic;font-size:clamp(13px,3.2vw,15px);letter-spacing:.01em;line-height:1.3;color:#fffbe9e0;text-shadow:0 1px 2px rgba(20,12,8,.55);pointer-events:none;user-select:none;transition:opacity .28s ease;opacity:1;z-index:2}.gallery-photo-window{cursor:pointer}.gallery-photo-window:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse at center,rgba(255,248,232,.18) 0%,rgba(255,240,210,.06) 55%,transparent 100%);pointer-events:none;opacity:0;transition:opacity .22s ease;z-index:3}.gallery-photo-window.is-loading:after{opacity:1;animation:galleryLoadingPulse 1.4s ease-in-out infinite}@keyframes galleryLoadingPulse{0%,to{opacity:.32}50%{opacity:.85}}@media(prefers-reduced-motion:reduce){.gallery-photo-window.is-loading:after{animation:none;opacity:.55}}.gallery-dots{position:absolute;left:50%;bottom:-22px;transform:translate(-50%);display:flex;align-items:center;gap:8px}.gallery-dot{appearance:none;background:transparent;border:0;width:22px;height:22px;padding:0;margin:0 -8px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;position:relative}.gallery-dot:before{content:"";width:6px;height:6px;border-radius:999px;background:#fffbe952;transition:background .22s ease,transform .22s cubic-bezier(.2,.8,.2,1)}.gallery-dot.is-active:before{background:#fffbe9f2;transform:scale(1.4)}.gallery-dot:focus-visible{outline:2px solid rgba(255,251,233,.85);outline-offset:2px;border-radius:999px}@media(prefers-reduced-motion:reduce){.gallery,.gallery-img{transition:opacity .4s ease}.gallery-img.is-active{animation:none}.gallery-frame{transition:none;transform:none!important}}.gallery-lightbox{position:fixed;inset:0;z-index:200;display:grid;grid-template-rows:minmax(0,1fr) auto auto;align-items:stretch;box-sizing:border-box;padding:max(env(safe-area-inset-top,0px) + 14px,60px) 0 max(env(safe-area-inset-bottom,0px) + 18px,24px);pointer-events:none;opacity:0;visibility:hidden;transition:opacity .28s cubic-bezier(.2,.8,.2,1),visibility 0s linear .28s}.gallery-lightbox.is-open{pointer-events:auto;opacity:1;visibility:visible;transition:opacity .28s cubic-bezier(.2,.8,.2,1),visibility 0s linear 0s}.gallery-lightbox-scrim{position:absolute;inset:0;background:#0c0806c7;-webkit-backdrop-filter:blur(28px) saturate(1.3);backdrop-filter:blur(28px) saturate(1.3);cursor:pointer}.gallery-lightbox-backdrop{position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;filter:blur(46px) saturate(1.35) brightness(.46);transform:scale(1.25);pointer-events:none}.gallery-lightbox-close{appearance:none;position:absolute;top:max(env(safe-area-inset-top,0px) + 12px,18px);right:max(env(safe-area-inset-right,0px) + 12px,14px);width:44px;height:44px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#140e0a6b;-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);border:1px solid rgba(255,251,233,.2);box-shadow:0 4px 14px #140c0857;color:#fffbe9fa;cursor:pointer;z-index:2;transition:transform .18s cubic-bezier(.2,.8,.2,1),background .22s ease}.gallery-lightbox-close:hover{background:#140e0a8f}.gallery-lightbox-close:active{transform:scale(.94)}.gallery-lightbox-close:focus-visible{outline:2px solid rgba(255,251,233,.78);outline-offset:2px}.gallery-lightbox-stage{position:relative;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 16px 14px;box-sizing:border-box;overflow:hidden;z-index:1;touch-action:pan-y;will-change:transform,opacity}.gallery-lightbox-photo{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;object-position:var(--lb-fx, 50%) var(--lb-fy, 50%);border-radius:14px;box-shadow:0 14px 40px #0000006b;user-select:none;-webkit-user-drag:none;pointer-events:none}.gallery-lightbox-caption{position:relative;z-index:1;margin:0 auto;padding:6px 16px;max-width:calc(100% - 64px);border-radius:999px;background:#fff8e829;-webkit-backdrop-filter:blur(24px) saturate(1.5);backdrop-filter:blur(24px) saturate(1.5);border:1px solid rgba(255,255,255,.22);box-shadow:0 4px 14px #140c082e;color:#fffbe9eb;font-family:var(--display);font-style:italic;font-weight:500;font-size:clamp(13px,3.2vw,15px);letter-spacing:.01em;text-align:center;text-shadow:0 1px 2px rgba(20,12,8,.55);min-height:28px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-lightbox-caption:empty{visibility:hidden}.gallery-lightbox-dots{position:relative;z-index:1;margin:10px auto 0;padding:6px 16px;display:inline-flex;align-items:center;gap:8px;max-width:calc(100vw - 24px);border-radius:999px;background:#140e0a6b;-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);border:1px solid rgba(255,251,233,.16);box-shadow:0 4px 14px #140c0847;align-self:center;touch-action:none;cursor:pointer}.gallery-lightbox-dots.is-scrubbing .gallery-dot:before{transition:background 80ms ease,transform 80ms ease}.gallery-dots.is-scrubbing .gallery-dot:before{transition:background 80ms ease,transform 80ms ease}.gallery-dots{touch-action:none;cursor:pointer}body.gallery-lightbox-open{overflow:hidden}body.gallery-lightbox-open .chapter-nav,body.gallery-lightbox-open .music-control{visibility:hidden}.chapter-stage{position:relative;flex:1 1 0;min-height:0;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;margin-top:0}.chapter-slide{grid-area:1 / 1;text-align:center;text-shadow:var(--shadow-strong);opacity:0;pointer-events:none;padding:max(env(safe-area-inset-top,0px) + 18px,clamp(60px,9svh,96px)) var(--space) calc(72px + max(env(safe-area-inset-bottom,0px),18px) + var(--vp-bottom-pad, 0px));overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior:contain;transition:opacity var(--slide-ms) ease}.chapter-slide::-webkit-scrollbar{display:none}body.chapter-gallery .chapter-slide,body.chapter-party .chapter-slide{padding-top:max(calc(env(safe-area-inset-top,0px) + 68px),clamp(88px,11svh,108px))}body.chapter-party .chapter-slide{z-index:6;position:relative}body.chapter-party .chapter-slide--cadence:before{display:none}.chapter-slide.is-active{opacity:1;pointer-events:auto}.chapter-slide .brand-eyebrow,.chapter-slide .brand-names,.chapter-slide .brand-venue{opacity:0;transform:translateY(14px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .85s cubic-bezier(.2,.8,.2,1)}.chapter-slide.is-active .brand-eyebrow{opacity:1;transform:translateY(0);transition-delay:.05s}.chapter-slide.is-active .brand-names{opacity:1;transform:translateY(0);transition-delay:.22s;animation:brandShimmer 3.4s cubic-bezier(.2,.8,.2,1) .55s forwards}@keyframes brandShimmer{0%{text-shadow:0 1px 2px rgba(0,0,0,.55),0 8px 28px rgba(0,0,0,.42),0 0 22px rgba(255,198,140,.18),0 0 6px rgba(255,220,180,.12)}35%{text-shadow:0 1px 2px rgba(0,0,0,.55),0 8px 28px rgba(0,0,0,.42),0 0 46px rgba(255,198,140,.58),0 0 18px rgba(255,220,180,.52),0 0 5px rgba(255,240,200,.55)}to{text-shadow:0 1px 2px rgba(0,0,0,.55),0 8px 28px rgba(0,0,0,.42),0 0 22px rgba(255,198,140,.18),0 0 6px rgba(255,220,180,.12)}}.chapter-slide.is-active .brand-venue{opacity:1;transform:translateY(0);transition-delay:.42s}.chapter-slide .brand-cta-wrap{opacity:0;transform:translateY(14px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .85s cubic-bezier(.2,.8,.2,1);margin-top:clamp(20px,4vh,32px);will-change:opacity,transform}.chapter-slide.is-active .brand-cta-wrap{opacity:1;transform:translateY(0);transition-delay:.62s}.chapter-slide--cadence .brand-cta-wrap,.chapter-slide--welcome .brand-cta-wrap{transition:none;opacity:0;transform:translateY(10px)}.chapter-slide--cadence.is-active .brand-cta-wrap,.chapter-slide--welcome.is-active .brand-cta-wrap{animation:welcome-fade-up 1.4s cubic-bezier(.16,1,.3,1) var(--line-delay, 0s) forwards}.brand-cta{appearance:none;border:0;display:inline-flex;align-items:center;gap:10px;font-family:var(--body);font-size:clamp(14px,3.2vw,15px);font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:14px 26px;min-height:48px;border-radius:999px;cursor:pointer;text-shadow:none;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease,background .22s ease}.brand-cta--primary{background:var(--c-cta-primary-bg);color:var(--c-cta-primary-ink);box-shadow:0 2px 6px #00000040,0 12px 28px #00000052,0 0 24px #ffc68c2e}@media(hover:hover)and (pointer:fine){.brand-cta--primary:hover{transform:translateY(-1px);box-shadow:0 4px 10px #00000047,0 18px 36px #0000005c,0 0 32px #ffc68c52}}.brand-cta:active{transform:translateY(1px) scale(.985)}.brand-cta:focus-visible{outline:2px solid var(--c-ink);outline-offset:4px}.brand-cta-icon{display:inline-flex;align-items:center}.brand-cta.is-pulsing{animation:ctaPulse .7s cubic-bezier(.2,.8,.2,1)}@keyframes ctaPulse{0%{transform:scale(1)}35%{transform:scale(1.06)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.chapter-slide .brand-cta-wrap,.brand-cta,.brand-cta.is-pulsing{transition:none;animation:none}}.brand-eyebrow{font-family:var(--body);font-weight:600;letter-spacing:.32em;text-transform:uppercase;font-size:clamp(15px,3.4vw,17px);color:var(--c-ink);opacity:.92;margin:0 0 .7em;text-shadow:0 1px 2px rgba(0,0,0,.65)}.chapter-slide--welcome{text-align:center;display:flex;flex-direction:column;justify-content:flex-start;align-items:center}.welcome-title{font-family:var(--display);font-feature-settings:var(--display-feat);font-weight:600;font-size:clamp(24px,7.4vw,52px);letter-spacing:0;line-height:1.08;margin:0 0 .85em;white-space:nowrap;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.85),0 3px 10px rgba(0,0,0,.55),0 0 32px rgba(0,0,0,.4);opacity:0;transform:translateY(10px);will-change:opacity,transform}.welcome-title .amp{font-family:var(--display);font-feature-settings:var(--display-feat);font-weight:400;font-style:italic;color:#fff;margin:0 .06em;font-size:.62em;position:relative;top:-.18em;letter-spacing:.02em}.welcome-divider{display:none}.welcome-line{margin:0 0 .7em;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.85),0 2px 6px rgba(0,0,0,.65),0 0 22px rgba(0,0,0,.45);line-height:1.45;opacity:0;transform:translateY(8px);will-change:opacity,transform}.welcome-line--soft{font-family:var(--display);font-feature-settings:var(--display-feat);font-weight:500;letter-spacing:.005em;font-size:clamp(18px,4.4vw,22px);line-height:1.48}.welcome-line .ord,.welcome-title .ord{font-size:.58em;font-weight:500;vertical-align:super;line-height:0;margin-left:1px;letter-spacing:.02em}.welcome-line--venue{font-family:var(--display);font-feature-settings:var(--display-feat);font-weight:500;letter-spacing:.005em;font-size:clamp(18px,4.4vw,22px);line-height:1.48;max-width:36ch;margin-left:auto;margin-right:auto}.chapter-slide--welcome .welcome-line--venue{white-space:nowrap}.welcome-line--date,.welcome-line--note{font-family:var(--display);font-feature-settings:var(--display-feat);font-weight:500;letter-spacing:.005em;font-size:clamp(18px,4.4vw,22px);line-height:1.48}.line-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:4px;vertical-align:middle;border-radius:999px;color:#ffffffc7;text-decoration:none;pointer-events:auto;transition:color .2s ease,background .2s ease,transform .22s cubic-bezier(.2,.8,.2,1)}@media(hover:hover)and (pointer:fine){.line-link:hover{color:#fff;background:#ffffff1f;transform:translateY(-1px)}}.line-link:active{transform:translateY(0) scale(.94)}.line-link:focus-visible{outline:2px solid rgba(255,255,255,.85);outline-offset:2px}@keyframes welcome-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes welcome-divider-grow{0%{width:0;opacity:0}60%{opacity:1}to{width:64px;opacity:1}}body.is-loaded .chapter-slide--welcome.is-active .welcome-title,.chapter-slide--cadence.is-active .welcome-title{animation:welcome-fade-up 1.4s cubic-bezier(.16,1,.3,1) .6s forwards}body.is-loaded .chapter-slide--welcome.is-active .welcome-line,.chapter-slide--cadence.is-active.is-settled .welcome-line{animation:welcome-fade-up 1.4s cubic-bezier(.16,1,.3,1) var(--line-delay, 0s) forwards}.chapter-slide.is-active.is-skipped .welcome-title,.chapter-slide.is-active.is-skipped .welcome-line{animation:none!important;opacity:1!important;transform:none!important}.chapter-slide.is-active.is-skipped .welcome-divider{animation:none!important;opacity:1!important;transform:none!important;width:64px!important}.chapter-slide--cadence{text-align:center;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;position:relative}.chapter-slide--cadence:before,.chapter-slide--welcome:before{content:none}@media(prefers-reduced-motion:reduce){.chapter-slide--welcome.is-active .welcome-title,.chapter-slide--welcome.is-active .welcome-line,.chapter-slide--cadence.is-active .welcome-title,.chapter-slide--cadence.is-active .welcome-line{animation:none;opacity:1;transform:none;filter:none}.chapter-slide--welcome.is-active .welcome-divider,.chapter-slide--cadence.is-active .welcome-divider{animation:none;width:64px;opacity:1}}.brand-venue:before{content:"";display:block;width:56px;height:1px;margin:1.1em auto 1em;background:linear-gradient(90deg,#fffbe900,#ffdcb4a6,#fffbe900);box-shadow:0 0 10px #ffdcb44d}.brand-names{font-family:var(--display);font-weight:400;font-size:clamp(42px,13vw,100px);letter-spacing:.005em;margin:0;line-height:1.04;padding:0 .2em;text-shadow:0 1px 2px rgba(0,0,0,.55),0 8px 28px rgba(0,0,0,.42),0 0 22px rgba(255,198,140,.18),0 0 6px rgba(255,220,180,.12)}.brand-names .amp{font-style:italic;font-weight:300;opacity:.85;margin:0 .06em}.brand-venue{font-family:var(--body);font-weight:500;font-size:clamp(17px,4.2vw,20px);letter-spacing:.04em;line-height:1.5;margin:.6em auto 0;opacity:1;max-width:32ch;color:var(--c-ink);text-shadow:0 1px 2px rgba(0,0,0,.65)}.chapter-nav{position:fixed;bottom:calc(max(env(safe-area-inset-bottom,0px),18px) + var(--vp-bottom-pad, 0px));left:env(safe-area-inset-left,0px);right:env(safe-area-inset-right,0px);z-index:50;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;pointer-events:auto;padding:0 10px;column-gap:6px;box-sizing:border-box}.chapter-arrow{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 16px;border-radius:22px;background:#140e0a38;-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);border:1px solid rgba(255,251,233,.14);box-shadow:0 4px 14px #140c083d;color:#fffbe9f5;font-family:var(--body);font-size:13.5px;font-weight:500;letter-spacing:.04em;cursor:pointer;transition:transform .18s cubic-bezier(.2,.8,.2,1),background .22s ease,border-color .22s ease,opacity .28s ease}.chapter-arrow:hover{background:#140e0a52;border-color:#fffbe938}.chapter-arrow:active{transform:scale(.96)}.chapter-arrow:focus-visible{outline:2px solid rgba(255,251,233,.78);outline-offset:2px}.chapter-arrow[hidden],.chapter-arrow:disabled{display:inline-flex!important;visibility:hidden;pointer-events:none}.chapter-arrow--prev{justify-self:start;padding:8px 13px;min-width:44px}.chapter-arrow--next{justify-self:end;max-width:100%;background:#fffbe929;border-color:#fffbe942;color:#fffbe9;font-weight:600;box-shadow:0 4px 14px #140c083d,inset 0 0 0 1px #fffbe90f}.chapter-arrow--next:hover{background:#fffbe93d;border-color:#fffbe95c}.chapter-arrow-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;filter:drop-shadow(0 1px 1px rgba(20,12,8,.45))}.chapter-arrow--next .chapter-arrow-label{padding:0 8px;text-align:center}.chapter-arrow-label{white-space:normal;text-align:center;line-height:1.18;word-break:keep-all;overflow-wrap:normal;hyphens:none}@media(max-width:359px){.chapter-arrow{padding:8px 12px;font-size:12.5px;letter-spacing:.03em}.chapter-arrow--prev{padding:8px 11px}}.chapter-arrow--next.is-idle-pulse{animation:chapter-next-idle-pulse 2.4s ease-in-out infinite}@keyframes chapter-next-idle-pulse{0%,to{box-shadow:0 4px 14px #140c083d,inset 0 0 0 1px #fffbe90f,0 0 #ffdcb400;border-color:#fffbe942}50%{box-shadow:0 4px 14px #140c083d,inset 0 0 0 1px #fffbe92e,0 0 14px 1px #ffdcb48c;border-color:#fffbe970}}@media(prefers-reduced-motion:reduce){.chapter-arrow--next.is-idle-pulse{animation:none}}.chapter-dots{display:inline-flex;align-items:center;gap:3px;padding:4px 10px;background:#140e0a38;-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);border:1px solid rgba(255,251,233,.1);border-radius:999px;box-shadow:0 4px 14px #140c083d;flex:0 1 auto}.chapter-dot{appearance:none;border:0;padding:0;width:28px;height:36px;border-radius:999px;background:transparent;cursor:pointer;position:relative;display:inline-flex;align-items:center;justify-content:center;filter:drop-shadow(0 1px 1px rgba(20,12,8,.45))}.chapter-dot:before{content:"";width:6px;height:6px;border-radius:999px;background:#fffbe96b;transition:width .22s cubic-bezier(.16,1,.3,1),height .22s cubic-bezier(.16,1,.3,1),background .24s ease}.chapter-dot:hover:before{background:#fffbe9d9}.chapter-dot.is-active:before{width:8px;height:8px;background:#fffbe9;box-shadow:0 0 #fffbe98c,0 0 6px 1px #fffbe96b;animation:chapter-dot-pulse 2.6s ease-in-out infinite}@keyframes chapter-dot-pulse{0%,to{box-shadow:0 0 4px #fffbe952}50%{box-shadow:0 0 9px 1.5px #fffbe98c}}@media(prefers-reduced-motion:reduce){.chapter-dot.is-active:before{animation:none}}.chapter-dot-fill{position:absolute;inset:7px;border-radius:999px;background:var(--c-ink);transform-origin:left center;transform:scaleX(0);opacity:0;pointer-events:none}.chapter-dot.is-loading:before{background:#fffbe91f;width:22px}.chapter-dot.is-loading .chapter-dot-fill{opacity:1;animation:chapterFill var(--slide-ms) cubic-bezier(.4,0,.2,1) forwards}@keyframes chapterFill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.chapter-dot:focus-visible:before{outline:2px solid var(--c-ink);outline-offset:3px}.chapter-dot-label{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%,4px);padding:4px 10px;border-radius:999px;background:#140e0a9e;backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);color:var(--c-ink);font-family:var(--body);font-size:12px;letter-spacing:.04em;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .22s ease,transform .22s cubic-bezier(.2,.8,.2,1);border:1px solid rgba(255,251,233,.18);box-shadow:0 4px 14px #140c0847}@media(hover:hover)and (pointer:fine){.chapter-dot:hover .chapter-dot-label,.chapter-dot:focus-visible .chapter-dot-label{opacity:1;transform:translate(-50%)}}@media(max-width:719px){.chapter-dot{width:20px;height:30px}.chapter-dots{gap:1px;padding:4px 7px}.chapter-arrow{font-size:13px;padding:9px 13px}.chapter-arrow--prev{padding:9px 11px}}@media(prefers-reduced-motion:reduce){.chapter-slide,.chapter-arrow,.chapter-dot:before,.chapter-dot-fill,.chapter-dot-label,.chapter-progress-fill,.chapter-slide.is-active .brand-names{transition:none;animation:none}.chapter-dot.is-loading .chapter-dot-fill{transform:scaleX(1)}}.chapter-progress{position:fixed;top:env(safe-area-inset-top,0);left:0;right:0;z-index:5;pointer-events:none;padding:6px clamp(12px,4vw,32px) 0}.chapter-progress-track{position:relative;width:100%;height:3px;border-radius:999px;background:#fffbe91f;overflow:visible;box-shadow:inset 0 0 0 1px #0000002e}.chapter-progress-fill{position:absolute;inset:0 auto 0 0;border-radius:999px;background:linear-gradient(90deg,#ffdca0cc,#ffc68cf2 55%,#ffa86e);box-shadow:0 0 6px #ffc88c8c,0 0 14px #ffb26e52;transition:width .52s cubic-bezier(.4,0,.2,1)}.chapter-progress-fill:after{content:"";position:absolute;right:-2px;top:50%;width:6px;height:6px;border-radius:999px;transform:translateY(-50%);background:#fff0c8;box-shadow:0 0 6px #ffdca0d9,0 0 14px #ffc68c8c}.chapter-progress-ticks{display:none;position:absolute;inset:0;pointer-events:none}.chapter-progress-tick{position:absolute;top:50%;width:2px;height:7px;margin-left:-1px;transform:translateY(-50%);background:#fffbe938;border-radius:1px}@media(min-width:720px){.chapter-progress-ticks{display:block}}@media(prefers-reduced-motion:reduce){.chapter-progress-fill{transition:none}}.bp-cloud{display:flex;flex-wrap:wrap;justify-content:space-around;align-content:space-around;align-items:center;gap:clamp(8px,2vw,18px) clamp(8px,2vw,16px);width:100%;min-height:calc(100vh - clamp(220px,28vh,280px));margin:clamp(8px,2vh,16px) auto 0;padding:0 clamp(8px,3vw,20px) clamp(40px,8vh,80px);pointer-events:auto}.bp-headshot{appearance:none;background:transparent;border:0;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;transform:translate(var(--hx, 0px),var(--vy, 0px));opacity:0;will-change:opacity,transform}.chapter-slide--cadence.is-active.is-settled .bp-headshot{animation:bp-fade-in .7s cubic-bezier(.16,1,.3,1) forwards}@keyframes bp-fade-in{0%{opacity:0}to{opacity:1}}.bp-headshot-circle{will-change:transform}.bp-headshot-circle{width:clamp(110px,28vw,180px);height:clamp(110px,28vw,180px);border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 32% 28%,#fcf0dceb,#f0dec4e0 60%,#dcc6a8d1);box-shadow:inset 0 0 0 1px #fae6c899,0 0 0 1px #78503238,0 6px 16px #0000004d,0 0 22px var(--bp-accent, rgba(255, 200, 140, .3));transition:box-shadow .22s ease}@media(hover:hover)and (pointer:fine){.bp-headshot:hover{transform:translate(var(--hx, 0px),var(--vy, 0px)) scale(1.06)}.bp-headshot:hover .bp-headshot-circle{box-shadow:0 0 0 2px #ffffffd9,0 10px 26px #00000073,0 0 36px var(--bp-accent, rgba(255, 200, 140, .6))}}.bp-headshot:active{transform:translate(var(--hx, 0px),var(--vy, 0px)) scale(.96)}.bp-headshot{transition:transform .22s cubic-bezier(.2,.8,.2,1)}.bp-headshot-initials{font-family:var(--display);font-weight:500;font-style:italic;font-size:clamp(28px,7vw,40px);color:#4a3020c7;letter-spacing:.02em;text-shadow:0 1px 0 rgba(255,250,235,.6)}.bp-headshot-name{display:none}.bp-modal{position:fixed;inset:0;z-index:30;visibility:hidden;pointer-events:none;opacity:0;transition:opacity .38s cubic-bezier(.4,0,1,1),visibility 0s .48s}.bp-modal.is-open{visibility:visible;opacity:1;pointer-events:auto;transition:opacity .28s cubic-bezier(.2,.8,.2,1),visibility 0s}.bp-modal-scrim{position:absolute;inset:0;background:#140c082e;backdrop-filter:blur(28px) saturate(1.45);-webkit-backdrop-filter:blur(28px) saturate(1.45);cursor:pointer;transition:backdrop-filter .38s cubic-bezier(.4,0,1,1),-webkit-backdrop-filter .38s cubic-bezier(.4,0,1,1),background .38s cubic-bezier(.4,0,1,1)}.bp-modal-card{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) translate(var(--bp-morph-dx, 0px),var(--bp-morph-dy, 0px)) scale(var(--bp-morph-scale, .55));opacity:0;width:min(92%,420px);max-height:92vh;overflow-y:auto;-webkit-overflow-scrolling:touch;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:18px;padding:24px 20px;text-align:center;border:1px solid transparent;box-shadow:none;transition:transform .54s cubic-bezier(.36,0,.66,-.56),opacity .28s cubic-bezier(.4,0,1,1) 40ms,filter .24s ease-in,background .2s ease-out,backdrop-filter .2s ease-out,-webkit-backdrop-filter .2s ease-out,border-color .2s ease-out,box-shadow .2s ease-out;filter:blur(8px)}.bp-modal.is-open .bp-modal-card{transform:translate(-50%,-50%) scale(1);opacity:1;filter:blur(0);background:linear-gradient(180deg,#fffaeb6b,#f4e8d04d);backdrop-filter:blur(36px) saturate(1.7);-webkit-backdrop-filter:blur(36px) saturate(1.7);border-color:#ffffff52;box-shadow:inset 0 1.5px #ffffffd9,inset 0 1px 12px #fff3,inset 0 -2px 16px #140c082e,0 1px 1px #140c082e,0 22px 64px #140c085c,0 0 80px #ffdcb42e;transition:transform .82s cubic-bezier(.34,1.32,.64,1),opacity .46s cubic-bezier(.16,1,.3,1),filter .54s cubic-bezier(.2,.8,.2,1),background .32s ease-out .38s,backdrop-filter .32s ease-out .38s,-webkit-backdrop-filter .32s ease-out .38s,border-color .32s ease-out .38s,box-shadow .32s ease-out .38s}.bp-modal-portrait{width:min(78vw,360px);height:auto;aspect-ratio:4 / 5;margin:0 auto 16px;border-radius:50%;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#fffbe929;backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);box-shadow:0 0 0 3px #ffffffd9,0 12px 32px #00000038,0 0 48px var(--bp-accent, rgba(255, 200, 140, .55));transition:border-radius .72s cubic-bezier(.34,1.32,.64,1)}.bp-modal.is-open .bp-modal-portrait{border-radius:12px}.bp-modal-portrait-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 50%;display:none;user-select:none;-webkit-user-drag:none;opacity:0;transition:object-position .64s cubic-bezier(.2,.8,.2,1),transform .64s cubic-bezier(.2,.8,.2,1),opacity .64s cubic-bezier(.2,.8,.2,1)}.bp-modal-portrait.has-photo .bp-modal-portrait-photo{display:block}.bp-modal-portrait.has-photo .bp-modal-portrait-photo.is-on{opacity:1}.bp-modal-portrait.has-photo .bp-modal-initials{display:none}.bp-modal-initials{font-family:var(--display);font-weight:700;font-size:56px;color:#4a3020;letter-spacing:-.01em;position:relative;z-index:1}.bp-modal-name{font-family:var(--display);font-weight:700;font-size:clamp(20px,5vw,24px);color:#2a1d10;letter-spacing:-.01em;margin:0 0 8px;opacity:0;transform:translateY(6px);transition:opacity .32s ease-out .54s,transform .32s cubic-bezier(.16,1,.3,1) .54s}.bp-modal.is-open .bp-modal-name{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.bp-headshot,.bp-modal,.bp-modal-card{transition:none;animation:none}}.music-control{position:fixed;top:max(env(safe-area-inset-top,0px),12px);left:max(env(safe-area-inset-left,0px),12px);z-index:40;display:inline-flex;align-items:center;gap:0;padding:0;border-radius:999px;background:#140e0a52;backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);border:1px solid rgba(255,251,233,.18);color:#fffbe9;box-shadow:0 6px 20px #00000052;text-shadow:0 1px 1px rgba(0,0,0,.55);opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .28s ease,transform .28s cubic-bezier(.16,1,.3,1);overflow:hidden}.music-control.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}.music-control-main,.music-control-skip{appearance:none;background:transparent;border:0;color:inherit;text-shadow:inherit;cursor:pointer;display:inline-flex;align-items:center;font:inherit;transition:background .16s ease,transform .16s ease}.music-control-main{flex:1 1 auto;gap:8px;padding:4px 6px 4px 4px;text-align:left;max-width:220px;overflow:hidden}.music-control-main:hover{background:#ffffff14}.music-control-main:active{transform:scale(.97)}.music-control-main:focus-visible{outline:2px solid rgba(255,207,133,.85);outline-offset:-2px}.music-control-skip{flex:0 0 auto;width:36px;height:36px;margin-right:4px;border-radius:999px;justify-content:center;color:#fffbe9c7}.music-control-skip:hover{background:#ffffff1a;color:#fffbe9}.music-control-skip:active{transform:scale(.92)}.music-control-skip:focus-visible{outline:2px solid rgba(255,207,133,.85);outline-offset:2px}.music-control-art{flex:0 0 36px;width:36px;height:36px;border-radius:999px;overflow:visible;position:relative;background:#fffbe924}.music-control-art-img{position:absolute;inset:3px;width:calc(100% - 6px);height:calc(100% - 6px);object-fit:cover;border-radius:999px;display:block;animation:music-art-spin 12s linear infinite;animation-play-state:paused}.music-control.is-on.is-playing .music-control-art-img{animation-play-state:running}@keyframes music-art-spin{to{transform:rotate(360deg)}}.music-control-meta{display:flex;flex-direction:column;gap:0;min-width:0;flex:1 1 auto}.music-control-title{font-family:var(--body);font-weight:600;font-size:13px;letter-spacing:.005em;color:#fffbe9f5;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-control-artist{font-family:var(--body);font-weight:500;font-size:10.5px;font-style:italic;letter-spacing:.02em;color:#fffbe999;line-height:1.15;margin-top:1px}.music-control-state{flex:0 0 14px;display:inline-flex;align-items:center;justify-content:center;color:#fffbe9c7;margin-left:2px}.music-control-icon{display:none}.music-control.is-on .music-control-icon--on,.music-control.is-off .music-control-icon--off{display:inline-flex}.music-control.is-off{color:#fffbe98c}.music-control.is-off .music-control-state{color:#fffbe973}.music-control.needs-attention{animation:music-control-needs-attention 3.2s ease-in-out infinite}@keyframes music-control-needs-attention{0%,to{box-shadow:0 6px 20px #00000052,0 0 #ffcf8538}50%{box-shadow:0 6px 20px #00000052,0 0 0 3px #ffcf8500}}@media(prefers-reduced-motion:reduce){.music-control{transition:none;animation:none}}body.chapter-party .bp-cloud{display:none}.pool-bounce-overlay{position:absolute;left:0;top:0;width:0;height:0;pointer-events:none;z-index:8;opacity:0;transition:opacity .6s cubic-bezier(.16,1,.3,1)}.pool-bounce-overlay.is-active{opacity:1}body.bounce-debug .pool-bounce-overlay{outline:2px solid red;outline-offset:-1px}.pool-bounce-overlay.is-active .pool-ball.is-active{pointer-events:auto}.pool-ball{appearance:none;background:transparent;border:0;padding:0;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;position:absolute;left:0;top:0;display:none;border-radius:50%;transition:none;will-change:transform}.pool-ball.is-active{display:block;opacity:1;animation:none}.pool-ball{transition:opacity .62s cubic-bezier(.4,0,.6,1)}.pool-ball.is-morphing{opacity:0;transition:opacity .22s cubic-bezier(.4,0,.6,1)}.pool-ball-inner{position:absolute;inset:0;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 32% 28%,#fcf0dcfa,#f0dec4f2 60%,#dcc6a8eb);box-shadow:inset 0 0 0 4px var(--bp-accent, #ffd9b8),inset 0 0 0 5px #78503273,0 6px 14px #00000057,0 0 18px var(--bp-accent, rgba(255, 200, 140, .55));animation:pool-ball-wobble 5.6s ease-in-out infinite;animation-delay:var(--ball-anim-delay, 0s)}.pool-ball-inner:after{content:"";position:absolute;inset:8%;border-radius:50%;border:1px solid rgba(255,255,255,.58);box-shadow:inset 0 0 14px #ffffff2e,0 0 18px var(--bp-accent, rgba(255, 200, 140, .36));opacity:0;transform:scale(.72);pointer-events:none;z-index:3;transition:opacity .22s ease,transform .26s cubic-bezier(.2,.8,.2,1)}.pool-ball.is-impact .pool-ball-inner:after{opacity:.48;transform:scale(1.03);transition-duration:80ms}.pool-ball.is-grabbed{cursor:grabbing;z-index:4}.pool-ball.is-grabbed .pool-ball-inner{animation-duration:3.8s;box-shadow:inset 0 0 0 4px var(--bp-accent, #ffd9b8),inset 0 0 0 5px #78503273,0 12px 24px #0000006b,0 0 30px var(--bp-accent, rgba(255, 200, 140, .62))}.pool-ball-inner.is-photo{background:#3c281cf2}@keyframes pool-ball-wobble{0%,to{transform:rotate(-2deg) scale(1)}50%{transform:rotate(2deg) scale(1.04)}}.pool-ball-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--bp-face-pos, 50% 22%);transform-origin:var(--bp-face-pos, 50% 22%);transform:scale(var(--bp-face-zoom, 1.45));border-radius:50%;user-select:none;-webkit-user-drag:none}.pool-ball-name{position:absolute;bottom:11%;left:50%;transform:translate(-50%);padding:3px 9px;border-radius:999px;background:#140c089e;color:#fffaebf5;font-family:var(--body);font-weight:600;font-size:clamp(11px,3vw,14px);letter-spacing:.02em;white-space:nowrap;pointer-events:none;z-index:2;text-shadow:0 1px 1px rgba(0,0,0,.5)}.pool-ball-name:empty{display:none}.pool-ball-initials{font-family:var(--display);font-weight:500;font-style:italic;font-size:clamp(20px,5.6vw,30px);color:#4a3020d1;letter-spacing:.02em;text-shadow:0 1px 0 rgba(255,250,235,.6);pointer-events:none;position:relative;z-index:1;transition:opacity .24s ease}@media(hover:hover)and (pointer:fine){.pool-ball:hover .pool-ball-inner{box-shadow:0 0 0 2px #ffffffd9,0 10px 26px #00000073,0 0 36px var(--bp-accent, rgba(255, 200, 140, .6))}}@media(prefers-reduced-motion:reduce){.pool-ball-inner{animation:none}}.pool-ripple{position:absolute;pointer-events:none;width:40px;height:40px;margin-left:-20px;margin-top:-20px;border-radius:50%;border:1px solid rgba(255,255,255,.35);opacity:0;transform:scale(.3);z-index:-1}.pool-ripple.is-active{animation:pool-ripple-expand .62s cubic-bezier(.18,.85,.32,1) forwards}@keyframes pool-ripple-expand{0%{opacity:.18;transform:scale(.3)}to{opacity:0;transform:scale(1.4)}}.gallery-dot.is-active{width:26px}.gallery-dot.is-active:before{width:18px;height:6px;border-radius:999px;background:#fffbe952;transform:none;animation:gallery-dot-pulse 2.6s ease-in-out infinite}@keyframes gallery-dot-pulse{0%,to{box-shadow:0 0 4px #fffbe952}50%{box-shadow:0 0 9px 1.5px #fffbe98c}}.gallery-dot.is-active:after{content:"";position:absolute;top:50%;left:50%;width:18px;height:6px;margin:-3px 0 0 -9px;border-radius:999px;background:#fffbe9fa;pointer-events:none;clip-path:inset(0 100% 0 0);animation:gallery-dot-fill var(--gallery-cycle, 6s) linear infinite}@keyframes gallery-dot-fill{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0% 0 0)}}.gallery.is-paused .gallery-dot.is-active:before,.gallery.is-paused .gallery-dot.is-active:after{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.gallery-dot.is-active:before,.gallery-dot.is-active:after{animation:none}.gallery-dot.is-active:after{clip-path:inset(0 0% 0 0)}}.chapter-slide--rsvp{justify-content:flex-start;padding-bottom:clamp(56px,10svh,100px)}@media(orientation:portrait)and (max-height:720px){.chapter-slide--rsvp{padding-top:max(env(safe-area-inset-top,0px) + 10px,44px)}.chapter-slide--rsvp .welcome-title{margin-bottom:.55em}.chapter-slide--rsvp .rsvp-form{margin:.3em auto .45em}.chapter-slide--rsvp .rsvp-form-card{gap:7px;padding:10px 12px 8px}.chapter-slide--rsvp .dosa-game-cta{margin-top:4px;padding:6px 14px 8px;font-size:13.5px;gap:2px}.chapter-slide--rsvp .dosa-game-cta-icon{height:58px}}.chapter-slide--rsvp.is-active{pointer-events:auto}.rsvp-form{width:100%;max-width:520px;margin:.6em auto .8em;padding:0 14px;opacity:0;transform:translateY(8px);transition:opacity .5s ease .6s,transform .5s ease .6s;pointer-events:none}.chapter-slide--rsvp.is-active .rsvp-form{opacity:1;transform:none;pointer-events:auto}.rsvp-form-card{display:flex;flex-direction:column;position:relative;gap:9px;padding:13px 14px 11px;border-radius:22px;background:#fffaf038;backdrop-filter:blur(36px) saturate(2.4);-webkit-backdrop-filter:blur(36px) saturate(2.4);border:1px solid rgba(255,255,255,.32);box-shadow:0 14px 36px #140c0838,inset 0 1.5px #ffffffb8,inset 0 -1.5px #ffdcb447,inset 1px 0 #dcf0ff2e,inset -1px 0 #ffe6d22e,inset 0 0 24px #ffffff0f;color:#2a1a0c;isolation:isolate}.rsvp-form-card:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse 70% 50% at 20% 0%,rgba(255,255,255,.32) 0%,transparent 60%),radial-gradient(ellipse 60% 40% at 100% 100%,rgba(255,200,160,.16) 0%,transparent 60%);pointer-events:none;z-index:0}.rsvp-form-card>*{position:relative;z-index:1}.rsvp-card-header{text-align:center;margin:0 0 1px;position:relative}.rsvp-card-title{font-family:var(--display);font-feature-settings:var(--display-feat);font-weight:600;font-size:clamp(22px,6.8vw,32px);letter-spacing:-.005em;line-height:1;margin:0 0 1px;color:#2a1a0c}.rsvp-card-prompt{font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(13px,3.4vw,15px);color:#3c260eb8;letter-spacing:.015em;margin:0}.rsvp-card-prompt:before,.rsvp-card-prompt:after{content:"";display:inline-block;width:18px;height:1px;vertical-align:middle;margin:0 8px 3px;background:linear-gradient(90deg,transparent 0%,rgba(185,90,23,.42) 50%,transparent 100%)}.rsvp-fields{display:flex;flex-direction:column;gap:5px}.rsvp-party{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 0 0;padding:2px 4px}.rsvp-party-label{font-family:var(--body);font-size:14.5px;font-weight:600;line-height:1.2;color:#2a1a0c;flex:1 1 auto;min-width:0;letter-spacing:.005em}.rsvp-party-stepper{flex:0 0 auto;display:inline-flex;align-items:center;background:#fffaf061;backdrop-filter:blur(10px) saturate(1.6);-webkit-backdrop-filter:blur(10px) saturate(1.6);border:1px solid rgba(120,78,36,.22);border-radius:999px;padding:2px;gap:0;box-shadow:0 2px 8px #140c081a,inset 0 1px #ffffffad}.rsvp-party-step{appearance:none;background:transparent;border:none;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#3c260ec7;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}.rsvp-party-step:hover{background:#ffffff8c;color:#2a1a0c}.rsvp-party-step:active{transform:scale(.92)}.rsvp-party-step:focus-visible{outline:2px solid rgba(185,90,23,.78);outline-offset:2px}.rsvp-party-step.is-bump{background:#ffcf85d9;color:#2a1a0c}.rsvp-party-step.is-bump-deny{animation:rsvp-party-shake .22s ease}@keyframes rsvp-party-shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.rsvp-party-count{display:inline-flex;align-items:center;justify-content:center;min-width:26px;padding:0 4px;font-family:var(--display);font-feature-settings:var(--display-feat);font-size:17px;font-weight:600;line-height:1;color:#2a1a0c;letter-spacing:.005em;font-variant-numeric:tabular-nums}.rsvp-rideshare{display:flex;align-items:center;gap:10px;min-height:32px;padding:2px 4px;cursor:pointer;user-select:none}.rsvp-rideshare input{position:absolute;opacity:0;pointer-events:none}.rsvp-rideshare-mark{flex:0 0 20px;width:20px;height:20px;border-radius:6px;background:#fffcf4c7;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(120,78,36,.22);box-shadow:inset 0 1px #fff9;display:inline-flex;align-items:center;justify-content:center;color:transparent;transition:background .18s ease,border-color .18s ease,color .18s ease}.rsvp-rideshare-text{font-family:var(--body);font-size:14px;font-weight:500;line-height:1.3;color:#3c260ee0}.rsvp-rideshare input:checked+.rsvp-rideshare-mark{background:#ffcf85f2;border-color:#b95a17c7;color:#2a1a0c}.rsvp-rideshare input:focus-visible+.rsvp-rideshare-mark{outline:2px solid rgba(185,90,23,.78);outline-offset:2px}.rsvp-row{display:flex;flex-direction:column;gap:8px}.rsvp-row--two{flex-direction:row;gap:6px}.rsvp-row--two .rsvp-field{flex:1 1 0;min-width:0}.rsvp-field{display:flex;flex-direction:column;gap:3px}.rsvp-label{font-family:var(--body);font-weight:600;font-size:16px;letter-spacing:.005em;color:#2a1a0c;line-height:1.2}.rsvp-label-aside{font-weight:400;font-size:13px;color:#3c260ead;margin-left:4px}.rsvp-req{color:#b95a17;font-weight:700;letter-spacing:0;margin-left:2px}.rsvp-field input[type=text],.rsvp-field input[type=email],.rsvp-field input[type=tel],.rsvp-field textarea{appearance:none;width:100%;min-height:36px;padding:6px 12px;border-radius:11px;font:inherit;font-family:var(--body);font-size:16px;font-weight:500;color:#2a1a0c;background:#fffcf4c7;backdrop-filter:blur(12px) saturate(1.4);-webkit-backdrop-filter:blur(12px) saturate(1.4);border:1px solid rgba(120,78,36,.16);box-shadow:inset 0 1px #ffffff8c;outline:none;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}.rsvp-field textarea{resize:vertical;min-height:42px;line-height:1.35;font-family:var(--body)}.rsvp-field input::placeholder,.rsvp-field textarea::placeholder{color:#3c260e8c}.rsvp-field input:focus,.rsvp-field textarea:focus,.rsvp-field input:focus-visible,.rsvp-field textarea:focus-visible{background:#ffffffe0;border-color:#b95a179e;box-shadow:0 0 0 3px #ffc48252,inset 0 1px #ffffff9e}.rsvp-field input:-webkit-autofill{-webkit-text-fill-color:#2a1a0c;-webkit-box-shadow:0 0 0 60px rgba(255,255,255,.55) inset;caret-color:#2a1a0c;transition:background-color 5000s ease-in-out 0s}.rsvp-fieldset{margin:0;padding:0;border:0;display:flex;flex-direction:column;gap:4px}.rsvp-fieldset.is-hidden{display:none}.rsvp-legend{font-family:var(--body);font-weight:600;font-size:16px;letter-spacing:.005em;color:#2a1a0c;padding:0;margin:0 0 4px;line-height:1.2}.rsvp-radio-row{display:flex;gap:10px;flex-wrap:wrap}.rsvp-radio{display:inline-flex;min-height:44px;flex:1 1 0;min-width:0}.rsvp-radio input{position:absolute;opacity:0;pointer-events:none}.rsvp-radio-pill{flex:1;display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:10px 12px;min-height:44px;border-radius:12px;font-family:var(--body);font-size:15px;font-weight:600;letter-spacing:.005em;color:#fffbe9eb;background:#fffbe91a;border:1px solid rgba(255,251,233,.28);cursor:pointer;user-select:none;transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.rsvp-radio:hover .rsvp-radio-pill{background:#fffbe924}.rsvp-radio input:checked+.rsvp-radio-pill{background:#ffcf8547;border-color:#ffcf85c7;color:#fffbe9;box-shadow:0 0 0 1px #ffcf856b,0 4px 14px #0000002e}.rsvp-radio--primary{display:block;width:100%;min-height:50px}.rsvp-radio-pill--primary{width:100%;min-height:50px;font-size:16px;font-weight:700;background:#ffcf8542;border-color:#ffcf858c;color:#fffbe9}.rsvp-radio--primary input:checked+.rsvp-radio-pill--primary{background:#ffcf8573;border-color:#ffcf85f2;box-shadow:0 0 0 2px #ffcf8580,0 6px 18px #00000038}.rsvp-radio--secondary{display:block;width:100%;min-height:36px;margin-top:2px}.rsvp-radio-pill--quiet{width:100%;min-height:36px;padding:6px 12px;font-size:14px;font-weight:500;background:transparent;border-color:#fffbe938;color:#fffbe9bf}.rsvp-radio--secondary input:checked+.rsvp-radio-pill--quiet{background:#fffbe91a;border-color:#fffbe952;color:#fffbe9d9;box-shadow:none}.rsvp-radio-row--two{gap:6px}.rsvp-radio-row--two .rsvp-radio{flex:1 1 0;min-width:0}.rsvp-radio input:focus-visible+.rsvp-radio-pill{outline:2px solid rgba(255,207,133,.8);outline-offset:2px}.rsvp-checkbox{display:flex;align-items:center;gap:12px;min-height:38px;cursor:pointer;padding:2px;user-select:none}.rsvp-checkbox--both{background:#ffcf8524;border:1.5px solid rgba(255,207,133,.55);border-radius:12px;padding:8px 14px;min-height:48px}.rsvp-checkbox--both .rsvp-checkbox-text{font-size:16px;font-weight:600}.rsvp-checkbox input{position:absolute;opacity:0;pointer-events:none}.rsvp-checkbox-mark{flex:0 0 26px;width:26px;height:26px;margin-top:0;border-radius:7px;background:#ffffff8c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1.5px solid rgba(120,78,36,.35);display:inline-flex;align-items:center;justify-content:center;color:transparent;transition:background .18s ease,border-color .18s ease,color .18s ease}.rsvp-checkbox-text{font-family:var(--body);font-size:15px;line-height:1.35;font-weight:500;color:#2a1a0c}.rsvp-checkbox input:checked+.rsvp-checkbox-mark{background:#ffcf85f2;border-color:#b95a17d9;color:#2a1a0c}.rsvp-checkbox input:focus-visible+.rsvp-checkbox-mark{outline:2px solid rgba(255,207,133,.8);outline-offset:2px}.rsvp-days{display:flex;gap:8px;border:0;margin:0;padding:0}.rsvp-day-card{flex:1 1 0;min-width:0;appearance:none;background:#ffffff52;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1.5px dashed rgba(120,78,36,.4);border-radius:12px;padding:8px 10px 7px;display:flex;flex-direction:column;align-items:center;gap:1px;cursor:pointer;position:relative;font-family:var(--body);color:#3c260ea6;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.rsvp-day-card:hover{background:#ffffff80}.rsvp-day-card:active{transform:scale(.985)}.rsvp-day-card:focus-visible{outline:2px solid rgba(185,90,23,.78);outline-offset:3px}.rsvp-day-card.is-selected{background:#ffc68073;border:1.5px solid rgba(185,90,23,.7);color:#2a1a0c;box-shadow:0 4px 14px #00000024,inset 0 1px #ffffff9e}.rsvp-day-card-mark{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:opacity .18s ease,transform .18s ease}.rsvp-day-card-mark--check{background:#ffcf85f2;color:#281a0aeb;border:1px solid rgba(255,207,133,.95);opacity:0}.rsvp-day-card-mark--x{background:#3c260e9e;color:#fff;border:1px solid rgba(60,38,14,.72);opacity:1}.rsvp-day-card.is-selected .rsvp-day-card-mark--check{opacity:1}.rsvp-day-card.is-selected .rsvp-day-card-mark--x{opacity:0}.rsvp-day-card-text{display:flex;flex-direction:column;align-items:center;gap:0}.rsvp-day-card-day{font-size:14px;font-weight:700;letter-spacing:.005em;line-height:1.15}.rsvp-day-card-sub{font-size:11px;font-weight:500;opacity:.72;letter-spacing:.01em;margin-top:1px}.rsvp-day-card-date{font-size:12px;font-weight:500;opacity:.78;letter-spacing:.01em;margin-top:1px}.rsvp-day-card-event{font-size:11.5px;font-weight:500;font-style:italic;opacity:.6;margin-top:2px;letter-spacing:.01em}.rsvp-day-card.is-selected .rsvp-day-card-event{opacity:.8}.rsvp-hint:empty{display:none}.rsvp-submit{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 26px;min-height:42px;border-radius:999px;background:linear-gradient(180deg,#fffaebf2,#ffeed2eb);color:#2a1a0c;font-family:var(--body);font-weight:600;font-size:15.5px;letter-spacing:.04em;text-transform:uppercase;border:1px solid rgba(185,90,23,.42);box-shadow:0 6px 16px #140c0838,inset 0 1px #fffffff2,0 0 0 1px #ffdcb42e;cursor:pointer;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease,background .18s ease;margin-top:4px}.rsvp-submit:hover{transform:translateY(-1px);background:linear-gradient(180deg,#fffcf0fa,#ffe8c8f2);box-shadow:0 10px 24px #140c0847,inset 0 1px #fffffff2,0 0 0 1px #ffdcb452}.rsvp-submit:active{transform:translateY(0) scale(.98)}.rsvp-submit:focus-visible{outline:2px solid rgba(185,90,23,.85);outline-offset:3px}.rsvp-submit-icon{display:inline-flex;align-items:center}.rsvp-submit:disabled,.rsvp-submit.is-loading{cursor:progress;opacity:.78;transform:none}.rsvp-submit.is-loading:after{content:"";display:inline-block;width:14px;height:14px;margin-left:10px;border-radius:50%;border:2px solid rgba(40,26,12,.25);border-top-color:#281a0cd9;animation:rsvp-spin .7s linear infinite;vertical-align:-2px}@keyframes rsvp-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.rsvp-submit.is-loading:after{animation:none}}.rsvp-hint{margin:0;font-family:var(--body);font-size:12.5px;font-weight:500;font-style:italic;letter-spacing:.01em;text-align:center;color:#3c260eb8;min-height:18px}.rsvp-hint.is-error{color:#b03020;font-style:normal;font-weight:600}.rsvp-hint.is-suggest{color:#b95a17;font-style:normal;font-weight:600}.rsvp-hint-fix{appearance:none;background:transparent;border:0;padding:2px 6px;margin:0 2px;border-radius:6px;font:inherit;font-weight:700;color:#ffd9a3;text-decoration:underline;text-underline-offset:2px;cursor:pointer;min-height:28px;min-width:44px}.rsvp-hint-fix:hover{background:#ffdcb41a}.rsvp-hint-fix:focus-visible{outline:2px solid rgba(255,207,133,.95);outline-offset:2px}.dosa-game-cta{appearance:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:calc(100% - 28px);max-width:492px;margin:8px auto 0;padding:8px 18px 10px;border-radius:18px;border:1px solid rgba(255,207,133,.42);background:#ffdca82e;-webkit-backdrop-filter:blur(24px) saturate(1.5);backdrop-filter:blur(24px) saturate(1.5);box-shadow:0 4px 14px #140c0838,inset 0 1px #ffffff52;color:#2a1a0c;font-family:var(--body);font-weight:600;font-size:15.5px;letter-spacing:.005em;cursor:pointer;transition:transform .2s cubic-bezier(.2,.8,.2,1),background .22s ease,border-color .22s ease,box-shadow .22s ease}.dosa-game-cta:hover{background:#ffdca847;border-color:#ffcf859e;box-shadow:0 6px 20px #140c0847,inset 0 1px #ffffff61}.dosa-game-cta:focus-visible{outline:2px solid rgba(255,207,133,.95);outline-offset:3px}.dosa-game-cta:active{transform:scale(.985)}.dosa-game-cta.is-pulsing{animation:dosa-cta-pulse .7s ease-out}@keyframes dosa-cta-pulse{0%{transform:scale(1)}40%{transform:scale(1.025)}to{transform:scale(1)}}.dosa-game-cta-icon{display:flex;align-items:center;justify-content:center;width:100%;height:72px;background:transparent;border:0;border-radius:0;box-shadow:none}.dosa-game-cta-icon canvas,.dosa-game-cta-icon img{width:100%;height:100%;display:block;object-fit:contain}.dosa-game-cta-label{display:block;text-align:center;line-height:1.2}.dosa-game-toast{position:fixed;left:50%;bottom:max(env(safe-area-inset-bottom,0px),140px);transform:translate(-50%) translateY(8px);padding:10px 18px;border-radius:999px;background:#140e0a9e;backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);border:1px solid rgba(255,207,133,.55);color:#fffbe9;font-family:var(--body);font-weight:600;font-size:14px;letter-spacing:.005em;text-shadow:0 1px 2px rgba(0,0,0,.55);z-index:60;opacity:0;pointer-events:none;transition:opacity .24s ease,transform .32s cubic-bezier(.16,1,.3,1)}.dosa-game-toast.is-visible{opacity:1;transform:translate(-50%) translateY(0)}.rsvp-thanks{padding:8px 4px;text-align:center}.rsvp-thanks-title{font-family:var(--display);font-weight:500;font-size:clamp(22px,6vw,30px);margin:0 0 10px;color:#2a1a0c}.rsvp-thanks-body{font-family:var(--body);font-size:15px;line-height:1.55;color:#3c260ee0;margin:0}.rsvp-thanks-body a{color:#b95a17;text-decoration:underline;text-underline-offset:3px;font-weight:600}.rsvp-form-card.is-fading-to-thanks{animation:rsvpThanksOut .26s cubic-bezier(.2,.8,.2,1) forwards;pointer-events:none}.rsvp-form-card.is-thanks{animation:rsvpThanksIn .42s cubic-bezier(.2,.8,.2,1) forwards}@keyframes rsvpThanksOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-6px)}}@keyframes rsvpThanksIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.rsvp-form{transition:none;opacity:1;transform:none}.rsvp-radio-pill,.rsvp-checkbox-mark,.rsvp-submit{transition:none}.rsvp-form-card.is-fading-to-thanks,.rsvp-form-card.is-thanks{animation:none;opacity:1;transform:none}}@media(max-width:600px){.welcome-title,.brand-names{text-shadow:0 1px 2px rgba(0,0,0,.92),0 3px 8px rgba(0,0,0,.7),0 6px 18px rgba(0,0,0,.55),0 0 36px rgba(0,0,0,.45);-webkit-text-stroke:.35px rgba(0,0,0,.32);paint-order:stroke fill}.welcome-line,.brand-venue{text-shadow:0 1px 2px rgba(0,0,0,.92),0 2px 6px rgba(0,0,0,.78),0 0 20px rgba(0,0,0,.55),0 0 32px rgba(0,0,0,.42);-webkit-text-stroke:.3px rgba(0,0,0,.3);paint-order:stroke fill}}@media(prefers-reduced-motion:reduce){.pool-ripple,.pool-ripple.is-active{animation:none;opacity:0}}body.is-game-mode .chapter-stage,body.is-game-mode .chapter-nav,body.is-game-mode .chapter-progress,body.is-game-mode .music-control,body.is-game-mode .dosa-game-cta,body.is-game-mode .gallery,body.is-game-mode .gallery-lightbox,body.is-game-mode .pool-bounce-overlay,body.is-game-mode .bp-cloud,body.is-game-mode .bp-modal{display:none!important}.dosa-game-hud{position:fixed;inset:0;z-index:200;pointer-events:none;font-family:var(--body);color:#2a1a0c}.dosa-game-hud>*{pointer-events:auto}.dosa-game-exit{position:absolute;top:max(env(safe-area-inset-top,0px) + 14px,18px);left:max(env(safe-area-inset-left,0px) + 14px,18px);appearance:none;display:inline-flex;align-items:center;gap:8px;padding:9px 14px 9px 11px;border-radius:999px;background:#140e0a8c;-webkit-backdrop-filter:blur(24px) saturate(1.6);backdrop-filter:blur(24px) saturate(1.6);border:1px solid rgba(255,251,233,.18);box-shadow:0 4px 14px #140c0852;color:#fffbe9f5;font-family:var(--body);font-weight:600;font-size:13px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background .18s ease,transform .16s cubic-bezier(.2,.8,.2,1)}.dosa-game-exit:hover{background:#140e0ab8}.dosa-game-exit:active{transform:scale(.96)}.dosa-game-hint{position:absolute;bottom:calc(env(safe-area-inset-bottom,0px) + 22px);left:50%;transform:translate(-50%);padding:7px 14px;border-radius:999px;background:#140e0a6b;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#fffbe9eb;font-family:var(--body);font-size:13px;font-weight:500;letter-spacing:.02em;text-align:center;pointer-events:none;white-space:nowrap}.dosa-game-hint-mobile{display:none}@media(hover:none)and (pointer:coarse){.dosa-game-hint-desktop{display:none}.dosa-game-hint-mobile{display:inline}}.dosa-game-joystick{display:none;position:absolute;bottom:calc(env(safe-area-inset-bottom,0px) + 70px);left:28px;width:124px;height:124px;touch-action:none;user-select:none;-webkit-user-select:none}@media(hover:none)and (pointer:coarse){.dosa-game-joystick{display:block}}.dosa-game-joystick-base{position:absolute;inset:0;border-radius:50%;background:#140e0a52;-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);border:1.5px solid rgba(255,251,233,.22);box-shadow:0 4px 18px #140c0852,inset 0 1px #ffffff2e}.dosa-game-joystick-stick{position:absolute;top:50%;left:50%;width:56px;height:56px;border-radius:50%;background:#ffdca8c7;border:1.5px solid rgba(185,90,23,.42);box-shadow:0 2px 10px #140c086b,inset 0 1px #ffffff9e;transform:translate(-50%,-50%);transition:background .16s ease;pointer-events:none}.dosa-game-objective{position:absolute;top:max(env(safe-area-inset-top,0px) + 14px,18px);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;padding:8px 16px 7px;border-radius:14px;background:#140e0a8c;-webkit-backdrop-filter:blur(20px) saturate(1.6);backdrop-filter:blur(20px) saturate(1.6);border:1px solid rgba(255,207,133,.3);box-shadow:0 4px 14px #140c0852;color:#fffbe9f5;font-family:var(--body);pointer-events:none}.dosa-game-objective-eyebrow{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;opacity:.62;line-height:1;margin-bottom:2px}.dosa-game-objective-label{font-family:var(--display);font-feature-settings:var(--display-feat);font-weight:600;font-size:16px;letter-spacing:.005em;line-height:1.05}.dosa-game-objective-dist{font-family:var(--body);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;opacity:.82;margin-top:1px;font-variant-numeric:tabular-nums}.dosa-game-portal-arrow{position:fixed;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#140e0a8c;-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);border:1.5px solid rgba(255,207,133,.62);box-shadow:0 4px 14px #140c0852;color:#ffdca8f5;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:201}.dosa-game-portal-arrow.is-visible{opacity:1}.dosa-game-minimap{position:absolute;right:max(env(safe-area-inset-right,0px) + 16px,20px);bottom:calc(env(safe-area-inset-bottom,0px) + 20px);width:110px;height:110px;border-radius:50%;pointer-events:none;filter:drop-shadow(0 6px 14px rgba(20,12,8,.32))}.dosa-game-welcome{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#140c0861;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:opacity .3s ease;z-index:202}.dosa-game-welcome.is-dismissed{opacity:0;pointer-events:none}.dosa-game-welcome-card{max-width:320px;padding:22px 26px 20px;border-radius:22px;background:#fffaf038;-webkit-backdrop-filter:blur(36px) saturate(2.4);backdrop-filter:blur(36px) saturate(2.4);border:1px solid rgba(255,255,255,.32);box-shadow:0 14px 36px #140c086b,inset 0 1.5px #ffffffb8,inset 0 -1.5px #ffdcb447;color:#2a1a0c;text-align:center;font-family:var(--body)}.dosa-game-welcome-eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.72;line-height:1.2;margin-bottom:8px}.dosa-game-welcome-title{display:block;font-family:var(--display);font-feature-settings:var(--display-feat);font-weight:600;font-size:clamp(22px,6.4vw,28px);letter-spacing:-.005em;line-height:1.08;margin-bottom:8px}.dosa-game-welcome-body{display:block;font-size:14px;font-weight:500;line-height:1.42;opacity:.88;margin-bottom:14px}.dosa-game-welcome-btn{appearance:none;padding:10px 26px;border-radius:999px;background:linear-gradient(180deg,#fffaebf2,#ffeed2eb);color:#2a1a0c;font-family:var(--body);font-weight:600;font-size:14px;letter-spacing:.04em;text-transform:uppercase;border:1px solid rgba(185,90,23,.42);box-shadow:0 4px 14px #140c0838;cursor:pointer;transition:transform .16s cubic-bezier(.2,.8,.2,1)}.dosa-game-welcome-btn:active{transform:scale(.97)}.dosa-game-portal-prompt{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) translateY(-120px) scale(.92);display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 18px;border-radius:16px;background:#140e0a9e;-webkit-backdrop-filter:blur(18px) saturate(1.6);backdrop-filter:blur(18px) saturate(1.6);border:1px solid rgba(255,207,133,.42);box-shadow:0 6px 22px #140c086b;color:#fffbe9f5;pointer-events:none;opacity:0;transition:opacity .26s ease,transform .26s cubic-bezier(.2,.8,.2,1)}.dosa-game-portal-prompt.is-visible{opacity:1;transform:translate(-50%,-50%) translateY(-130px) scale(1)}.dosa-game-portal-prompt-label{font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:.005em}.dosa-game-portal-prompt-cta{font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;opacity:.82}.iguana-run{position:fixed;inset:0;z-index:300;background:#16102a;display:flex;align-items:flex-end;justify-content:center;font-family:var(--body);user-select:none;-webkit-user-select:none;touch-action:none;opacity:0;transition:opacity .32s cubic-bezier(.2,.7,.25,1);overflow:hidden}.iguana-run.is-visible{opacity:1}.iguana-run-bg{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;display:block}.iguana-run-canvas{display:block;width:100%;max-width:100%;max-height:100%;aspect-ratio:600 / 150;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;background:transparent;position:relative;z-index:1}@media(orientation:landscape){.iguana-run-canvas{width:auto;height:100%}}.iguana-run-hud{position:absolute;top:max(env(safe-area-inset-top,0px) + 14px,18px);left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 18px;pointer-events:none}.iguana-run-title{font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:.01em;color:#fffbe9f5;text-shadow:0 1px 2px rgba(20,12,8,.72),0 0 18px rgba(20,12,8,.42)}.iguana-run-close{appearance:none;pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;background:#140e0a8c;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,251,233,.18);color:#fffbe9f5;cursor:pointer}.iguana-run-close:focus-visible{outline:2px solid rgba(255,207,133,.95);outline-offset:2px}.iguana-run-score{position:absolute;top:max(env(safe-area-inset-top,0px) + 56px,64px);right:18px;display:flex;flex-direction:column;align-items:flex-end;gap:2px;pointer-events:none}.iguana-run-score-row{font-family:var(--body);font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fffbe9eb;text-shadow:0 1px 2px rgba(20,12,8,.72)}.iguana-run-score-row [data-score],.iguana-run-score-row [data-best]{font-family:var(--display);font-feature-settings:var(--display-feat);font-size:17px;font-weight:600;margin-left:8px;font-variant-numeric:tabular-nums;transition:color .2s ease,transform .2s ease;display:inline-block}[data-score].is-milestone{color:#ffd9a3;transform:scale(1.18)}.iguana-run-score-row--best{font-size:12px;opacity:.78}.iguana-run-score-row--pies{display:inline-flex;align-items:center;gap:4px;color:#dff58c;text-shadow:0 1px 2px rgba(20,12,8,.72)}.iguana-run-score-row--pies svg{vertical-align:middle}.iguana-run-score-row--pies [data-pies]{color:#fff8e8}.iguana-run-overlay-msg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;transition:opacity .22s ease}.iguana-run-overlay-msg.is-hidden{opacity:0;pointer-events:none}.iguana-run-msg-card{pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:12px;padding:22px 28px 20px;border-radius:22px;background:#140e0a9e;-webkit-backdrop-filter:blur(28px) saturate(1.6);backdrop-filter:blur(28px) saturate(1.6);border:1px solid rgba(255,251,233,.22);box-shadow:0 14px 36px #140c086b;color:#fffbe9f5;text-align:center;max-width:320px}.iguana-run-msg-overline{font-family:var(--body);font-weight:600;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#ffdca8f5;text-shadow:0 1px 2px rgba(20,12,8,.55)}.iguana-run-msg-overline[hidden]{display:none}.iguana-run-msg-title{font-family:var(--display);font-weight:600;font-size:26px;letter-spacing:.005em}.iguana-run-msg-title.is-game-over{font-family:var(--body);font-weight:700;font-size:22px;letter-spacing:.35em;text-indent:.35em}.iguana-run-msg-sub{font-family:var(--body);font-size:14px;font-weight:500;opacity:.82;line-height:1.4}.iguana-run-msg-btn{appearance:none;margin-top:6px;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:999px;background:linear-gradient(180deg,#fffaebf2,#ffeed2eb);color:#2a1a0c;border:1px solid rgba(185,90,23,.42);box-shadow:0 4px 14px #140c0852;cursor:pointer;transition:transform .16s cubic-bezier(.2,.8,.2,1)}.iguana-run-msg-btn:hover{transform:translateY(-1px)}.iguana-run-msg-btn:active{transform:translateY(0) scale(.96)}.iguana-run-msg-btn:focus-visible{outline:2px solid rgba(255,207,133,.85);outline-offset:3px}.rhythm-run{position:fixed;inset:0;z-index:300;background:#16102a;display:flex;align-items:center;justify-content:center;font-family:var(--body);user-select:none;-webkit-user-select:none;touch-action:none;overflow:hidden;opacity:0;transition:opacity .32s cubic-bezier(.2,.7,.25,1)}.rhythm-run.is-visible{opacity:1}.rhythm-run-bg{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;display:block}.rhythm-run-shadow{--rhythm-shadow-lift: -12px;--rhythm-shadow-scale: 1.18;--rhythm-shadow-opacity: .52;--rhythm-shadow-lean: 0px;position:absolute;left:50%;bottom:max(env(safe-area-inset-bottom,0px) - 22px,-20px);width:min(206vw,1280px);aspect-ratio:2172 / 724;z-index:0;pointer-events:none;background:url(/game/rhythm/dance-shadow-sprite.png) center bottom / contain no-repeat;opacity:var(--rhythm-shadow-opacity);transform:translate(calc(-50% + var(--rhythm-shadow-lean))) translateY(var(--rhythm-shadow-lift)) scale(var(--rhythm-shadow-scale));transform-origin:50% 100%;filter:saturate(.92) contrast(1.08) blur(.12px);mix-blend-mode:multiply;transition:opacity .18s ease}.rhythm-run-shadow:before,.rhythm-run-shadow:after{content:"";position:absolute;inset:0;background:url(/game/rhythm/dance-shadow-sprite.png) center bottom / contain no-repeat;pointer-events:none}.rhythm-run-shadow:before{opacity:.42;transform:translate(-5.5%,7.5%) scale(1.1);transform-origin:50% 100%;filter:blur(2.2px) saturate(.8) contrast(1.12)}.rhythm-run-shadow:after{opacity:.28;transform:translate(4.5%,-4.5%) scale(.96);transform-origin:50% 100%;filter:blur(.75px) saturate(1.05) brightness(1.15);mix-blend-mode:screen}.rhythm-run:not(.is-playing) .rhythm-run-shadow{--rhythm-shadow-opacity: .36}.rhythm-run-dosa-cta{--rhythm-dosa-cta-lean: 0deg;position:absolute;top:clamp(470px,58vh,620px);left:50%;width:clamp(156px,27vw,230px);height:clamp(156px,27vw,230px);z-index:1;pointer-events:none;opacity:.98;transform:translate(-50%,-50%) rotate(var(--rhythm-dosa-cta-lean)) translateZ(0);transform-origin:50% 88%;border-radius:999px;filter:drop-shadow(0 18px 18px rgba(0,0,0,.5)) drop-shadow(0 0 24px rgba(255,217,163,.26))}.rhythm-run-dosa-cta.is-model-coach{mix-blend-mode:normal}.rhythm-run-dosa-cta.is-photo-coach{background:radial-gradient(circle at 48% 38%,rgba(255,246,220,.18),transparent 38%),linear-gradient(180deg,#ffe6b61a,#3e1c162e),url(/photos/game-dosa.jpg) 43% 0% / 145% auto no-repeat;box-shadow:inset 0 0 0 1px #ffe8be6b,inset 0 16px 24px #fff4d624,inset 0 -18px 22px #240d0a57,0 10px 30px #14080861,0 0 26px #ffd9a32e;animation:rhythm-dosa-coach-float 2.8s ease-in-out infinite}.rhythm-run-dosa-cta.is-hit{animation:rhythm-dosa-cta-hit .3s cubic-bezier(.2,.9,.2,1)}.rhythm-run-dosa-cta.is-celebrate{animation:rhythm-dosa-cta-celebrate .54s cubic-bezier(.2,.9,.2,1)}@keyframes rhythm-dosa-cta-hit{0%{transform:translate(-50%,-50%) rotate(var(--rhythm-dosa-cta-lean)) translateY(0) scale(1)}38%{transform:translate(-50%,-50%) rotate(var(--rhythm-dosa-cta-lean)) translateY(-10px) scale(1.08)}to{transform:translate(-50%,-50%) rotate(0) translateY(0) scale(1)}}@keyframes rhythm-dosa-cta-celebrate{0%{transform:translate(-50%,-50%) rotate(0) translateY(0) scale(1)}30%{transform:translate(-50%,-50%) rotate(-6deg) translateY(-12px) scale(1.1)}62%{transform:translate(-50%,-50%) rotate(6deg) translateY(-6px) scale(1.06)}to{transform:translate(-50%,-50%) rotate(0) translateY(0) scale(1)}}@keyframes rhythm-dosa-coach-float{0%,to{transform:translate(-50%,-50%) perspective(500px) rotateY(-4deg) rotate(var(--rhythm-dosa-cta-lean)) translateY(0)}50%{transform:translate(-50%,-50%) perspective(500px) rotateY(5deg) rotate(var(--rhythm-dosa-cta-lean)) translateY(-4px)}}@media(max-width:520px){.rhythm-run-dosa-cta{top:clamp(450px,58vh,600px);left:50%;width:clamp(148px,32vw,176px);height:clamp(148px,32vw,176px);opacity:.96}}.rhythm-run-credit{position:absolute;left:50%;bottom:max(env(safe-area-inset-bottom,0px) + 14px,18px);transform:translate(-50%);z-index:5;display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:#0c08168c;-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);border:1px solid rgba(255,251,233,.16);font-family:var(--body);font-size:11px;letter-spacing:.08em;color:#fffbe9db;pointer-events:none}.rhythm-run-credit-note{font-size:14px;color:#ffdca8f2;line-height:1}.rhythm-run-credit-track{font-weight:600;letter-spacing:.01em}.rhythm-run-credit-artist{opacity:.72}.rhythm-run-credit-artist:before{content:"·";margin-right:6px;opacity:.7}.rhythm-run-medley-toast{position:absolute;top:max(env(safe-area-inset-top,0px) + 80px,90px);left:50%;transform:translate(-50%,-8px) scale(.94);z-index:6;display:inline-flex;align-items:center;gap:12px;padding:10px 16px 10px 12px;border-radius:14px;background:#0c0816c7;-webkit-backdrop-filter:blur(22px) saturate(1.5);backdrop-filter:blur(22px) saturate(1.5);border:1px solid rgba(255,220,168,.38);box-shadow:0 8px 28px #140c0880;pointer-events:none;opacity:0;transition:opacity .32s cubic-bezier(.2,.7,.25,1),transform .38s cubic-bezier(.2,.95,.2,1.05)}.rhythm-run-medley-toast.is-visible{opacity:1;transform:translate(-50%) scale(1)}.rhythm-run-medley-toast[hidden]{display:none}.rhythm-run-medley-cover{display:block;flex:0 0 auto;width:56px;height:56px;border-radius:8px;background-size:cover;background-position:center;background-color:#3c1e2899;box-shadow:0 2px 8px #00000080,0 0 0 1px #ffdca866}.rhythm-run-medley-text{display:flex;flex-direction:column;gap:3px;min-width:0;text-align:left}.rhythm-run-medley-label{font-family:var(--body);font-weight:700;font-size:9.5px;letter-spacing:.22em;color:#ffdca8f2;text-transform:uppercase;white-space:nowrap}.rhythm-run-medley-title{font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:.01em;color:#fffbe9fa;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rhythm-run-canvas{display:block;width:100%;max-width:100%;max-height:100%;aspect-ratio:540 / 900;background:transparent;position:relative;z-index:1;box-shadow:0 0 0 1px #fffbe90e,0 22px 64px #0000002e}@media(orientation:landscape){.rhythm-run-canvas{width:auto;height:100%}}.rhythm-run-scope{--scope-pulse: 0;--scope-pill-glow: 12px;--scope-line-alpha: .28;position:absolute;left:clamp(34px,7vw,82px);right:clamp(34px,7vw,82px);bottom:max(env(safe-area-inset-bottom,0px) + 156px,156px);z-index:4;height:34px;display:flex;align-items:flex-end;gap:3px;padding:6px 10px;border-radius:999px;background:#0a05108a;-webkit-backdrop-filter:blur(14px) saturate(1.55);backdrop-filter:blur(14px) saturate(1.55);border:1px solid rgba(255,244,218,.26);box-shadow:inset 0 1px #ffffff1f,0 8px 24px #08040e4d,0 0 var(--scope-pill-glow) #ffd9a324;pointer-events:none;opacity:0;transform:translateY(6px) scale(.985);transition:opacity .18s ease,transform .18s ease}.rhythm-run-scope.is-active{opacity:.96;transform:translateY(0) scale(1)}.rhythm-run-scope:after{content:"";position:absolute;left:14px;right:14px;top:50%;height:2px;border-radius:999px;background:linear-gradient(90deg,#ff8b7a00,#ffd9a375,#a4d9ff70,#c9a4ff00);opacity:var(--scope-line-alpha);transform:translateY(-50%)}.rhythm-run-scope-bar{--scope-level: 0;--scope-alpha: .34;--scope-color: #ffd9a3;--scope-height: 5px;--scope-shift: 3px;--scope-glow: 4px;position:relative;z-index:1;flex:1 1 0;min-width:0;height:var(--scope-height);max-height:100%;border-radius:999px 999px 4px 4px;background:linear-gradient(180deg,rgba(255,255,255,.74),var(--scope-color));opacity:var(--scope-alpha);box-shadow:0 0 var(--scope-glow) var(--scope-color);transform:translateY(var(--scope-shift));transition:height 70ms linear,opacity 70ms linear,transform 70ms linear}.rhythm-run-hud{position:absolute;top:max(env(safe-area-inset-top,0px) + 14px,18px);left:0;right:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:0 18px;pointer-events:none}.rhythm-run-title{font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:.01em;color:#fffbe9f5;text-shadow:0 1px 2px rgba(20,12,8,.72),0 0 18px rgba(20,12,8,.42)}.rhythm-run-hud-controls{display:flex;align-items:center;gap:8px;pointer-events:auto}.rhythm-run-btn,.rhythm-run-close{appearance:none;pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;background:#140e0a9e;-webkit-backdrop-filter:blur(22px) saturate(1.55);backdrop-filter:blur(22px) saturate(1.55);border:1px solid rgba(255,230,195,.28);color:#fffbe9f5;cursor:pointer;box-shadow:inset 0 1px #ffffff57,inset 0 -1px #140c0873,0 2px 12px #140c0852;transition:background .2s ease,transform .12s ease,box-shadow .2s ease,border-color .2s ease}.rhythm-run-btn:hover,.rhythm-run-close:hover{background:#321e18c7;border-color:#ffe6c375;box-shadow:inset 0 1px #ffffff6b,inset 0 -1px #140c0873,0 4px 18px #140c086b,0 0 22px #ffc88c38}.rhythm-run-btn:active{transform:scale(.96)}.rhythm-run-btn:disabled,.rhythm-run-btn[aria-disabled=true]{opacity:0;visibility:hidden;pointer-events:none}.rhythm-run-btn:focus-visible,.rhythm-run-close:focus-visible{outline:2px solid rgba(255,207,133,.95);outline-offset:2px}.rhythm-run-pause{position:absolute;inset:0;z-index:7;display:grid;place-items:center;background:#140c086b;backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);opacity:0;visibility:hidden;transition:opacity .24s cubic-bezier(.2,.7,.25,1),visibility 0s .24s;pointer-events:none}.rhythm-run-pause.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .24s cubic-bezier(.2,.7,.25,1),visibility 0s}.rhythm-run-pause-card{width:min(82%,320px);padding:28px 24px 24px;border-radius:18px;background:linear-gradient(180deg,#fffaeb33,#f4e8d024);backdrop-filter:blur(36px) saturate(1.7);-webkit-backdrop-filter:blur(36px) saturate(1.7);border:1px solid rgba(255,255,255,.32);text-align:center;color:#fff;box-shadow:inset 0 1.5px #ffffffd9,inset 0 1px 12px #fff3,inset 0 -2px 16px #140c082e,0 1px 1px #140c082e,0 22px 64px #140c086b,0 0 80px #ffdcb42e}.rhythm-run-pause-title{font-family:var(--display);font-weight:700;font-size:clamp(26px,6vw,32px);letter-spacing:.04em;text-transform:uppercase;margin-bottom:20px;text-shadow:0 1px 4px rgba(0,0,0,.5)}.rhythm-run-pause-actions{display:flex;gap:12px;justify-content:center}.rhythm-run-pause-btn{flex:1 1 0;height:48px;border-radius:14px;border:1px solid rgba(255,230,195,.4);background:#fffbe929;backdrop-filter:blur(22px) saturate(1.5);-webkit-backdrop-filter:blur(22px) saturate(1.5);color:#fff;font-family:var(--body);font-weight:600;font-size:14px;letter-spacing:.04em;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;box-shadow:inset 0 1px #ffffff5c,inset 0 -1px #140c0852,0 4px 14px #140c0852;transition:background .18s ease,transform .12s ease}.rhythm-run-pause-btn--resume{background:#ffda844d;color:#fff}.rhythm-run-pause-btn:hover{background:#fffbe942}.rhythm-run-pause-btn--resume:hover{background:#ffda8475}.rhythm-run-pause-btn:active{transform:scale(.97)}.rhythm-run-pause-btn:focus-visible{outline:2px solid rgba(255,220,160,.85);outline-offset:2px}.rhythm-run-score{position:absolute;top:max(env(safe-area-inset-top,0px) + 56px,64px);right:18px;z-index:5;display:flex;flex-direction:column;align-items:flex-end;font-family:var(--body);color:#fffbe9eb;text-shadow:0 1px 2px rgba(20,12,8,.72);pointer-events:none}.rhythm-run-score-row{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.rhythm-run-score-row [data-score],.rhythm-run-score-row [data-combo]{font-family:var(--display);font-feature-settings:var(--display-feat);font-size:17px;font-weight:600;margin-left:8px;font-variant-numeric:tabular-nums}.rhythm-run-score-row--combo{font-size:12px;opacity:.78}.rhythm-run-judgment{position:absolute;top:38%;left:50%;z-index:5;transform:translate(-50%,-50%) scale(.85);font-family:var(--display);font-feature-settings:var(--display-feat);font-weight:700;font-size:36px;letter-spacing:.18em;pointer-events:none;opacity:0;transition:opacity .2s ease,transform .2s cubic-bezier(.16,1,.3,1);text-shadow:0 2px 6px rgba(0,0,0,.65)}.rhythm-run-judgment.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1)}.rhythm-run-judgment--perfect{color:#ffd9a3}.rhythm-run-judgment--great{color:#a4d9ff}.rhythm-run-judgment--good{color:#c9a4ff}.rhythm-run-judgment--miss{color:#ff8b7a}.rhythm-run-tactile{--rhythm-pulse-x: 50%;position:absolute;inset:0;z-index:5;pointer-events:none;opacity:0;mix-blend-mode:screen;background:radial-gradient(ellipse 24% 11% at var(--rhythm-pulse-x) 84%,rgba(255,255,255,.38) 0%,rgba(255,217,163,.18) 34%,transparent 76%),radial-gradient(ellipse 62% 20% at 50% 82%,rgba(255,139,122,.07) 0%,transparent 72%)}.rhythm-run-tactile.is-on{animation:rhythmRunTactilePulse .28s cubic-bezier(.16,1,.3,1) both}.rhythm-run-tactile--perfect.is-on{background:radial-gradient(ellipse 30% 14% at var(--rhythm-pulse-x) 84%,rgba(255,255,255,.56) 0%,rgba(255,217,163,.24) 34%,transparent 76%)}.rhythm-run-tactile--great.is-on{background:radial-gradient(ellipse 28% 13% at var(--rhythm-pulse-x) 84%,rgba(194,232,255,.46) 0%,rgba(164,217,255,.2) 36%,transparent 78%)}.rhythm-run-tactile--miss.is-on{animation-duration:.42s;background:radial-gradient(ellipse 30% 14% at var(--rhythm-pulse-x) 84%,rgba(255,112,93,.4) 0%,rgba(255,112,93,.16) 38%,transparent 78%),linear-gradient(90deg,rgba(255,112,93,.08) 0%,transparent 18%,transparent 82%,rgba(255,112,93,.08) 100%)}.rhythm-run-tactile--combo.is-on,.rhythm-run-tactile--phrase.is-on{background:radial-gradient(ellipse 60% 18% at 50% 76%,rgba(255,242,189,.4) 0%,rgba(255,190,116,.14) 40%,transparent 78%),radial-gradient(ellipse 92% 12% at 50% 92%,rgba(255,255,255,.15) 0%,transparent 70%)}@keyframes rhythmRunTactilePulse{0%{opacity:0;transform:scale(.99)}20%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.035)}}.rhythm-run-stars{display:inline-block;font-family:var(--display);font-weight:600;font-size:38px;letter-spacing:.08em;color:#ffd9a3;text-shadow:0 0 18px rgba(255,200,120,.45);margin-bottom:4px}.rhythm-run-stars-dim{color:#fffbe938;text-shadow:none;margin-left:.04em}.rhythm-run-grade-breakdown{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px}.rhythm-run-grade{display:inline-block;font-family:var(--body);font-weight:600;font-size:10px;letter-spacing:.18em;padding:4px 9px;border-radius:999px;border:1px solid rgba(255,251,233,.18);background:#140e0a5c;color:#fffbe9d6;text-transform:uppercase}.rhythm-run-grade--perfect{color:#ffd9a3;border-color:#ffd9a36b}.rhythm-run-grade--great{color:#a4d9ff;border-color:#a4d9ff6b}.rhythm-run-grade--good{color:#c9a4ff;border-color:#c9a4ff6b}.rhythm-run-grade--miss{color:#ff8b7a;border-color:#ff8b7a6b;opacity:.88}.rhythm-run-overlay-msg{position:absolute;inset:0;z-index:8;display:flex;align-items:center;justify-content:center;pointer-events:none;transition:opacity .22s ease}.rhythm-run-overlay-msg.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.rhythm-run-overlay-msg.is-hidden .rhythm-run-msg-card{pointer-events:none}.rhythm-run-msg-card{pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:12px;padding:22px 28px 20px;border-radius:22px;background:#140e0a9e;-webkit-backdrop-filter:blur(28px) saturate(1.6);backdrop-filter:blur(28px) saturate(1.6);border:1px solid rgba(255,251,233,.22);box-shadow:0 14px 36px #140c086b;color:#fffbe9f5;text-align:center;max-width:340px}.rhythm-run-msg-overline{font-family:var(--body);font-weight:600;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#ffdca8f5;text-shadow:0 1px 2px rgba(20,12,8,.55)}.rhythm-run-msg-overline[hidden]{display:none}.rhythm-run-msg-title{font-family:var(--display);font-weight:600;font-size:26px;letter-spacing:.005em}.rhythm-run-msg-title.is-game-over{font-family:var(--body);font-weight:700;font-size:14px;letter-spacing:.18em;text-indent:0;display:flex;flex-direction:column;gap:4px;align-items:center;text-transform:uppercase}.rhythm-run-result-kicker{font-size:10px;letter-spacing:.24em;color:#ffdca8e0}.rhythm-run-result-score{font-family:var(--display);font-feature-settings:var(--display-feat);font-weight:700;font-size:clamp(42px,13vw,68px);line-height:.95;letter-spacing:0;color:#fffbe9fa;text-shadow:0 2px 12px rgba(20,12,8,.52),0 0 24px rgba(255,217,163,.22)}.rhythm-run-result-meta{display:inline-flex;max-width:100%;font-size:11px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:#fffbe9c2}.rhythm-run-result-grade{display:block;font-family:var(--display);font-feature-settings:var(--display-feat);font-weight:700;font-size:clamp(56px,18vw,92px);line-height:.86;letter-spacing:0;color:#ffe2aaf5;text-shadow:0 2px 14px rgba(20,12,8,.55),0 0 26px rgba(255,206,140,.3)}.rhythm-run-result-grade[data-grade=S]{color:#fff0c6;text-shadow:0 2px 16px rgba(20,12,8,.55),0 0 34px rgba(255,214,150,.55)}.rhythm-run-result-grade[data-grade=A]{color:#ffe6b2fa}.rhythm-run-result-grade[data-grade=C]{color:#ffe2aacc}.rhythm-run-result-grade[data-grade=D]{color:#f5e0bc9e}.rhythm-run-msg-sub{font-family:var(--body);font-size:14px;font-weight:500;opacity:.82;line-height:1.4}.rhythm-run-msg-btn{appearance:none;margin-top:6px;display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:999px;background:linear-gradient(180deg,#fffaebf2,#ffeed2eb);color:#2a1a0c;border:1px solid rgba(185,90,23,.42);box-shadow:0 4px 14px #140c0852;cursor:pointer;transition:transform .16s cubic-bezier(.2,.8,.2,1)}.rhythm-run-msg-btn:hover{transform:translateY(-1px)}.rhythm-run-msg-btn:active{transform:translateY(0) scale(.96)}.rhythm-run-msg-btn:focus-visible{outline:2px solid rgba(255,207,133,.95);outline-offset:3px}.rhythm-run-msg-btn.is-loading{cursor:progress;opacity:.86;animation:rhythmRunStartLoading .88s ease-in-out infinite alternate}@keyframes rhythmRunStartLoading{0%{box-shadow:0 4px 14px #140c0852,0 0 #ffdd9400}to{box-shadow:0 4px 14px #140c0852,0 0 22px #ffdd94b8}}.rhythm-run-songs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;width:100%;margin-top:2px}.rhythm-run-song{appearance:none;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 4px 7px;border-radius:12px;background:#140e0a6b;-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);border:1px solid rgba(255,251,233,.16);color:#fffbe9c7;cursor:pointer;text-align:center;transition:transform .16s cubic-bezier(.2,.8,.2,1),background .2s ease,border-color .2s ease,color .2s ease;min-width:0}.rhythm-run-song-cover{display:block;width:50px;height:50px;border-radius:6px;background-size:cover;background-position:center;background-color:#3c1e2899;box-shadow:0 1px 4px #0000006b;flex:0 0 auto}.rhythm-run-song-text{display:flex;flex-direction:column;gap:1px;min-width:0;width:100%}.rhythm-run-song-title{font-family:var(--body);font-weight:600;font-size:10px;letter-spacing:.02em;line-height:1.18;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fffbe9eb}.rhythm-run-song-artist{font-family:var(--body);font-weight:500;font-size:9px;letter-spacing:.04em;text-transform:uppercase;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rhythm-run-song:hover{transform:translateY(-1px);background:#281a128c}.rhythm-run-song.is-selected{background:#50321ea6;border-color:#ffdca8a6;color:#fffbe9fa;box-shadow:0 4px 14px #ffaf6e38,inset 0 0 0 1px #ffdca82e}.rhythm-run-song.is-selected .rhythm-run-song-cover{box-shadow:0 1px 6px #0000007a,0 0 0 1px #ffdca88c}.rhythm-run-diffs{display:inline-flex;gap:4px;padding:3px;border-radius:999px;background:#140e0a6b;border:1px solid rgba(255,251,233,.12);margin-top:4px}.rhythm-run-diff{appearance:none;border:none;background:transparent;color:#fffbe9b3;font-family:var(--body);font-weight:700;font-size:10px;letter-spacing:.18em;padding:6px 12px;border-radius:999px;cursor:pointer;transition:background .18s ease,color .18s ease}.rhythm-run-diff:hover{color:#fffbe9f2}.rhythm-run-diff.is-selected{background:linear-gradient(180deg,#fffaebf2,#ffeed2eb);color:#2a1a0c;box-shadow:0 1px 4px #140c0852}.dosa-intro{position:fixed;inset:0;z-index:250;pointer-events:none;font-family:var(--body);opacity:0;transition:opacity .32s ease}.dosa-intro.is-arriving{opacity:1;pointer-events:auto}.dosa-intro.is-leaving{opacity:0}.dosa-intro-bubble{position:absolute;left:50%;bottom:max(env(safe-area-inset-bottom,0px) + 36px,44px);transform:translate(-50%,20px);display:flex;align-items:center;gap:14px;max-width:min(560px,calc(100% - 32px));padding:12px 14px 12px 12px;border-radius:24px;background:#fffaf0f0;-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);border:1px solid rgba(120,78,36,.32);box-shadow:0 14px 32px #140c086b,inset 0 1px #ffffff9e;color:#2a1a0c;opacity:0;pointer-events:none;transition:opacity .24s ease,transform .32s cubic-bezier(.16,1,.3,1)}.dosa-intro-bubble.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%)}.dosa-intro-bubble-avatar{display:inline-flex;width:44px;height:44px;flex-shrink:0;border-radius:50%;overflow:hidden;background:#fffaef;border:2px solid #fffaef;box-shadow:0 3px 8px #140c0852}.dosa-intro-bubble-avatar img{width:100%;height:100%;object-fit:cover;object-position:50% 38%}.dosa-intro-bubble-text{margin:0;flex:1;font-family:var(--display);font-feature-settings:var(--display-feat);font-size:16px;line-height:1.4;font-weight:500;letter-spacing:.005em}.dosa-intro-bubble-next{appearance:none;flex-shrink:0;width:40px;height:40px;border-radius:50%;background:linear-gradient(180deg,#ffd9a3,#ffb46e);border:1px solid rgba(120,78,36,.32);color:#4a2a10;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 3px 8px #784e2452,inset 0 1px #ffffff8c;transition:transform .16s cubic-bezier(.2,.8,.2,1)}.dosa-intro-bubble-next:hover{transform:translateY(-1px)}.dosa-intro-bubble-next:active{transform:translateY(0) scale(.94)}.dosa-intro-skip{position:absolute;top:max(env(safe-area-inset-top,0px) + 14px,18px);right:max(env(safe-area-inset-right,0px) + 14px,18px);appearance:none;padding:7px 14px;border-radius:999px;background:#140e0a6b;-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);border:1px solid rgba(255,251,233,.22);color:#fffbe9e6;font-family:var(--body);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;pointer-events:auto}.dosa-intro-skip:hover{background:#140e0a8c}.minigame-menu{position:fixed;inset:0;z-index:240;pointer-events:auto;touch-action:none;cursor:grab;opacity:0;transition:opacity .28s ease;font-family:var(--body);-webkit-user-select:none;user-select:none}.minigame-menu.is-visible{opacity:1}.minigame-menu.is-dragging{cursor:grabbing}.minigame-menu-head{position:absolute;top:max(env(safe-area-inset-top,0px) + 18px,24px);left:50%;transform:translate(-50%);text-align:center;pointer-events:none;display:flex;flex-direction:column;gap:4px;text-shadow:0 1px 2px rgba(20,12,8,.78),0 0 18px rgba(20,12,8,.32);color:#fffbe9f5}.minigame-menu-eyebrow{margin:0;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#fffbe9c7}.minigame-menu-title{margin:0;font-family:var(--display);font-feature-settings:var(--display-feat);font-weight:600;font-size:24px;letter-spacing:.005em}.minigame-menu-close{position:absolute;top:max(env(safe-area-inset-top,0px) + 14px,18px);right:max(env(safe-area-inset-right,0px) + 14px,18px);appearance:none;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#140e0a8c;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,251,233,.22);color:#fffbe9eb;cursor:pointer;pointer-events:auto}.minigame-menu-close:hover{background:#140e0aad}.minigame-menu-close:focus-visible{outline:2px solid rgba(255,207,133,.95);outline-offset:2px}.minigame-menu-markers{position:absolute;inset:0;z-index:2;pointer-events:none}.minigame-marker{position:absolute;left:0;top:0;appearance:none;background:none;border:none;padding:0;display:inline-flex;flex-direction:column;align-items:center;gap:0;pointer-events:auto;cursor:pointer;transform:translate(-1000px,-1000px);filter:drop-shadow(0 4px 12px rgba(20,12,8,.42));transition:opacity .18s ease,filter .18s ease}.minigame-marker.is-offscreen{opacity:0;pointer-events:none}.minigame-marker-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 12px;border-radius:999px;background:#140e0a75;-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);border:1px solid rgba(255,251,233,.28);box-shadow:0 1px #ffffff52 inset,0 6px 18px #00000047;color:#fffbe9f5;transition:transform .16s cubic-bezier(.2,.8,.2,1),background .16s ease,border-color .16s ease}.minigame-marker-pill:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--mg-accent, #ffd9a3);box-shadow:0 0 0 2px #fffbe98c,0 0 12px var(--mg-accent, #ffd9a3);animation:minigame-marker-pulse 2.4s ease-in-out infinite}@keyframes minigame-marker-pulse{0%,to{box-shadow:0 0 0 2px #fffbe98c,0 0 12px var(--mg-accent, #ffd9a3)}50%{box-shadow:0 0 0 4px #fffbe98c,0 0 18px var(--mg-accent, #ffd9a3)}}.minigame-marker-title{font-family:var(--display);font-feature-settings:var(--display-feat);font-weight:600;font-size:14px;letter-spacing:.005em;text-shadow:0 1px 2px rgba(0,0,0,.45)}.minigame-marker-cta{font-family:var(--body);font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--mg-accent, rgba(255, 251, 233, .85));margin-left:2px}.minigame-marker-pin{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:10px solid rgba(20,14,10,.46);filter:drop-shadow(0 1px 0 rgba(255,251,233,.18));margin-top:-1px}.minigame-marker:not(.is-locked):hover .minigame-marker-pill{transform:translateY(-2px);background:#140e0a9e;border-color:var(--mg-accent, rgba(255, 251, 233, .42))}.minigame-marker:not(.is-locked):active .minigame-marker-pill{transform:none}.minigame-marker:not(.is-locked):focus-visible .minigame-marker-pill{outline:2px solid rgba(255,207,133,.95);outline-offset:3px}.minigame-marker.is-locked{cursor:default;filter:none;opacity:.78}.minigame-marker.is-locked .minigame-marker-pill:before{animation:none;opacity:.55;box-shadow:0 0 0 2px #fffbe952}.profile-pill{position:fixed;top:max(env(safe-area-inset-top,0px),12px);right:max(env(safe-area-inset-right,0px),12px);z-index:41;appearance:none;display:inline-flex;align-items:center;justify-content:center;padding:5px;border-radius:50%;background:#ffffff14;-webkit-backdrop-filter:blur(22px) saturate(1.6);backdrop-filter:blur(22px) saturate(1.6);border:1px solid rgba(255,255,255,.28);box-shadow:0 6px 20px #00000038,inset 0 1px #ffffff6b,inset 0 -1px #ffffff1a;color:#fffbe9;text-shadow:0 1px 2px rgba(0,0,0,.45);cursor:pointer;transition:background .16s ease,transform .16s cubic-bezier(.2,.8,.2,1)}.profile-pill:hover{background:#ffffff29}.profile-pill:active{transform:scale(.94)}.profile-pill:focus-visible{outline:2px solid rgba(255,207,133,.95);outline-offset:3px}.profile-pill.is-signed-in{border-color:#ffcf858c}.profile-pill-avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:transparent;color:inherit;overflow:hidden}.profile-pill-avatar svg{width:20px;height:20px;margin-top:2px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.55))}.profile-pill-avatar svg[hidden],.profile-pill-initials[hidden],.profile-pill-photo[hidden]{display:none!important}.profile-pill-initials{font-family:var(--display);font-feature-settings:var(--display-feat);font-weight:700;font-size:13px;letter-spacing:.02em;text-shadow:none}.profile-pill-photo{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}body.is-game-mode .profile-pill{display:none!important}.profile-drawer{position:fixed;inset:0;z-index:199;visibility:hidden;pointer-events:none;opacity:0;transition:opacity .24s ease,visibility 0s .24s}.profile-drawer.is-open{visibility:visible;pointer-events:auto;opacity:1;transition:opacity .24s ease,visibility 0s}.profile-drawer-scrim{position:absolute;inset:0;background:#140c086b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.profile-drawer-panel{position:absolute;top:12px;right:12px;bottom:auto;max-height:calc(100% - 24px);width:min(360px,calc(100% - 24px));padding:18px;border-radius:22px;background:#fffaf038;-webkit-backdrop-filter:blur(36px) saturate(2.4);backdrop-filter:blur(36px) saturate(2.4);border:1px solid rgba(255,255,255,.32);box-shadow:0 20px 48px #140c086b,inset 0 1.5px #ffffffb8,inset 0 -1.5px #ffdcb447;color:#2a1a0c;font-family:var(--body);display:flex;flex-direction:column;gap:14px;transform:translate(20px) scale(.98);transition:transform .28s cubic-bezier(.16,1,.3,1);overflow-y:auto}.profile-drawer.is-open .profile-drawer-panel{transform:translate(0) scale(1)}.profile-drawer-head{position:relative;min-height:0}.profile-drawer-close{appearance:none;position:absolute;top:-4px;right:-4px;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#140e0a24;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(20,14,10,.18);color:#281a0cc7;cursor:pointer;transition:background .16s ease}.profile-drawer-close:hover{background:#140e0a3d}body.is-profile-open .music-control{opacity:0;pointer-events:none;transition:opacity .24s ease}.profile-drawer-portrait{display:flex;justify-content:center;margin-top:2px}.profile-drawer-portrait-disc{display:inline-flex;align-items:center;justify-content:center;width:84px;height:84px;border-radius:50%;background:linear-gradient(140deg,#ffdca8f2,#ffc88cc7);color:#2a1a0c;font-family:var(--display);font-weight:700;font-size:30px;letter-spacing:.02em;overflow:hidden;box-shadow:inset 0 1px #ffffff8c,0 8px 22px #140c0852;border:2px solid rgba(255,251,233,.55)}.profile-drawer-portrait-disc img{width:100%;height:100%;object-fit:cover;border-radius:50%}.profile-signin{display:flex;flex-direction:column;align-items:stretch;gap:18px;padding:14px 6px 10px}.profile-signin[hidden]{display:none}.profile-signin-head{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.profile-signin-title{margin:0;font-family:var(--display);font-feature-settings:var(--display-feat);font-weight:600;font-size:22px;letter-spacing:.005em;color:#2a1a0c;text-shadow:0 1px 1px rgba(255,251,233,.4)}.profile-signin-blurb{margin:0;font-family:var(--body);font-size:13px;line-height:1.5;color:#2a1a0cbd;max-width:280px}.profile-signin-providers{display:flex;flex-direction:column;gap:10px;align-items:stretch}.profile-signin-provider{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:0 22px 0 14px;border-radius:999px;background:#140e0a52;-webkit-backdrop-filter:blur(20px) saturate(1.4);backdrop-filter:blur(20px) saturate(1.4);border:1px solid rgba(255,251,233,.22);box-shadow:0 6px 18px #00000047,inset 0 1px #ffffff52,inset 0 -1px #ffdcb41a;color:#fffbe9;font-family:var(--body);font-size:14.5px;font-weight:600;letter-spacing:.005em;text-shadow:0 1px 2px rgba(0,0,0,.45);cursor:pointer;transition:background .16s ease,transform .16s cubic-bezier(.2,.8,.2,1),box-shadow .16s ease,border-color .16s ease}.profile-signin-provider[hidden]{display:none}.profile-signin-provider:hover{background:#140e0a75;transform:translateY(-1px);box-shadow:0 8px 22px #00000052,inset 0 1px #ffffff61,inset 0 -1px #ffdcb424}.profile-signin-provider:active{transform:translateY(0) scale(.97)}.profile-signin-provider:focus-visible{outline:2px solid rgba(255,207,133,.85);outline-offset:3px}.profile-signin-provider:disabled{opacity:.55;cursor:progress}.profile-signin-provider.is-loading{cursor:progress}.profile-signin-provider--google:hover{border-color:#ffcf856b}.profile-signin-provider--facebook:hover{border-color:#1877f28c}.profile-signin-provider-logo{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#fffdf7;box-shadow:inset 0 0 0 1px #0000000a;flex-shrink:0}.profile-signin-provider-logo svg{display:block}.profile-drawer-actions{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding-top:4px;--pd-tint: rgba(255, 250, 240, .36);--pd-tint-strong: rgba(255, 250, 240, .62);--pd-line: rgba(120, 78, 36, .18);--pd-line-strong: rgba(120, 78, 36, .32);--pd-text: #2a1a0c;--pd-text-soft: rgba(42, 26, 12, .66)}.profile-drawer-actions[hidden]{display:none}.profile-drawer-status{display:flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border-radius:14px;background:var(--pd-tint);-webkit-backdrop-filter:blur(8px) saturate(1.2);backdrop-filter:blur(8px) saturate(1.2);border:1px solid var(--pd-line);box-shadow:inset 0 1px #ffffff73;font-family:var(--body);font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--pd-text);text-align:center}.profile-drawer-status[data-tone=yes]{background:linear-gradient(180deg,#c8e8a885,#c8e8a857);border-color:#78a0506b}.profile-drawer-status[data-tone=no]{background:linear-gradient(180deg,#ffdcc885,#ffdcc857);border-color:#c86e506b}.profile-drawer-scores{display:flex;flex-direction:column;gap:8px}.profile-drawer-scores[hidden]{display:none}.profile-drawer-scores-eyebrow{font-family:var(--body);font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--pd-text-soft);text-align:center}.profile-drawer-scores-list{list-style:none;margin:0;padding:4px 14px;display:flex;flex-direction:column;border-radius:14px;background:var(--pd-tint);-webkit-backdrop-filter:blur(8px) saturate(1.2);backdrop-filter:blur(8px) saturate(1.2);border:1px solid var(--pd-line);box-shadow:inset 0 1px #ffffff73}.profile-drawer-score-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--pd-line);font-family:var(--body);font-size:13.5px;color:var(--pd-text)}.profile-drawer-score-row:last-child{border-bottom:none}.profile-drawer-score-name{font-weight:500;opacity:.78;letter-spacing:.005em}.profile-drawer-score-value{font-family:var(--display);font-feature-settings:var(--display-feat);font-weight:700;font-size:14px;font-variant-numeric:tabular-nums;letter-spacing:.01em}.profile-drawer-btn--logout{margin-top:2px;border:none!important;background:transparent!important;color:var(--pd-text-soft)!important;font-size:11.5px!important;letter-spacing:.18em!important;font-weight:700!important;min-height:32px!important;text-transform:uppercase;transition:color .16s ease}.profile-drawer-btn--logout:hover{color:var(--pd-text)!important}.profile-drawer-status[data-tone=yes]{background:#c8e8a88c;border-color:#78a0506b}.profile-drawer-status[data-tone=no]{background:#ffdcc88c;border-color:#c86e506b}.profile-drawer-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 18px;min-height:44px;border-radius:14px;font-family:var(--body);font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:transform .16s cubic-bezier(.2,.8,.2,1),background .16s ease,box-shadow .16s ease,border-color .16s ease}.profile-drawer-btn--primary{background:linear-gradient(180deg,#fffaebc7,#ffeed29e);-webkit-backdrop-filter:blur(10px) saturate(1.3);backdrop-filter:blur(10px) saturate(1.3);color:#2a1a0c;border:1px solid rgba(185,90,23,.42);box-shadow:0 4px 14px #140c082e,inset 0 1px #ffffff9e}.profile-drawer-btn--primary:hover{transform:translateY(-1px);border-color:#b95a179e}.profile-drawer-btn--primary:active{transform:translateY(0) scale(.98)}.profile-drawer-btn--ghost{background:transparent;border:1px solid rgba(20,14,10,.22);color:#281a0cc7}.profile-drawer-btn--ghost:hover{background:#140e0a14}.dock-dash{position:fixed;inset:0;z-index:300;background:#16102a;display:block;font-family:var(--body);user-select:none;-webkit-user-select:none;touch-action:none;opacity:0;transition:opacity .32s cubic-bezier(.2,.7,.25,1);overflow:hidden}.dock-dash.is-visible{opacity:1}.dock-dash-canvas{display:block;width:100%;height:100%;position:absolute;inset:0;z-index:0}.dock-dash-hud{position:absolute;top:max(env(safe-area-inset-top,0px) + 14px,18px);left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 18px;pointer-events:none;z-index:6}.dock-dash-title{font-family:var(--display);font-feature-settings:var(--display-feat);font-weight:700;font-size:clamp(20px,4.4vw,26px);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.7),0 2px 8px rgba(0,0,0,.5);letter-spacing:-.005em}.dock-dash-hud-controls{display:flex;align-items:center;gap:8px;pointer-events:auto}.dock-dash-btn{width:44px;height:44px;border-radius:50%;background:#1e14109e;backdrop-filter:blur(22px) saturate(1.55);-webkit-backdrop-filter:blur(22px) saturate(1.55);border:1px solid rgba(255,230,195,.28);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:inset 0 1px #ffffff57,inset 0 -1px #140c0873,0 2px 12px #140c0852,0 0 0 1px #ffdca80d;transition:background .2s ease,transform .12s ease,box-shadow .2s ease,border-color .2s ease;pointer-events:auto}.dock-dash-btn:hover{background:#321e18c7;border-color:#ffe6c375;box-shadow:inset 0 1px #ffffff6b,inset 0 -1px #140c0873,0 4px 18px #140c086b,0 0 22px #ffc88c38}.dock-dash-btn:active{transform:scale(.96)}.dock-dash-btn:focus-visible{outline:2px solid rgba(255,220,160,.85);outline-offset:2px}.dock-dash-pause{position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:#140c086b;backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);opacity:0;visibility:hidden;transition:opacity .24s cubic-bezier(.2,.7,.25,1),visibility 0s .24s;pointer-events:none}.dock-dash-pause.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .24s cubic-bezier(.2,.7,.25,1),visibility 0s}.dock-dash-pause-card{width:min(82%,320px);padding:28px 24px 24px;border-radius:18px;background:linear-gradient(180deg,#fffaeb33,#f4e8d024);backdrop-filter:blur(36px) saturate(1.7);-webkit-backdrop-filter:blur(36px) saturate(1.7);border:1px solid rgba(255,255,255,.32);text-align:center;color:#fff;box-shadow:inset 0 1.5px #ffffffd9,inset 0 1px 12px #fff3,inset 0 -2px 16px #140c082e,0 1px 1px #140c082e,0 22px 64px #140c086b,0 0 80px #ffdcb42e}.dock-dash-pause-title{font-family:var(--display);font-weight:700;font-size:clamp(26px,6vw,32px);letter-spacing:.04em;text-transform:uppercase;margin-bottom:20px;text-shadow:0 1px 4px rgba(0,0,0,.5)}.dock-dash-pause-actions{display:flex;gap:12px;justify-content:center}.dock-dash-pause-btn{flex:1 1 0;height:48px;border-radius:14px;border:1px solid rgba(255,230,195,.4);background:#fffbe929;backdrop-filter:blur(22px) saturate(1.5);-webkit-backdrop-filter:blur(22px) saturate(1.5);color:#fff;font-family:var(--body);font-weight:600;font-size:14px;letter-spacing:.04em;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;box-shadow:inset 0 1px #ffffff5c,inset 0 -1px #140c0852,0 4px 14px #140c0852;transition:background .18s ease,transform .12s ease}.dock-dash-pause-btn--resume{background:#ffda844d;color:#fff}.dock-dash-pause-btn:hover{background:#fffbe942}.dock-dash-pause-btn--resume:hover{background:#ffda8475}.dock-dash-pause-btn:active{transform:scale(.97)}.dock-dash-pause-btn:focus-visible{outline:2px solid rgba(255,220,160,.85);outline-offset:2px}.dock-dash-score{position:absolute;top:max(env(safe-area-inset-top,0px) + 56px,62px);right:18px;display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-family:var(--display);font-feature-settings:var(--display-feat);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.7),0 2px 8px rgba(0,0,0,.5);pointer-events:none;z-index:6}.dock-dash-score-row{display:flex;align-items:baseline;gap:6px;font-size:clamp(15px,3.6vw,19px);font-weight:600}.dock-dash-score-label{font-family:var(--body);text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:600;opacity:.78;margin-right:4px}.dock-dash-score-unit{font-family:var(--body);font-size:11px;opacity:.78;margin-left:2px}.dock-dash-score-row--pies{color:#ffd984;align-items:center;font-size:clamp(13px,3.4vw,17px)}.dock-dash-score-row--pies svg{vertical-align:middle}.dock-dash-score-row--best{font-size:12px;font-weight:500;opacity:.85;margin-top:4px}.dock-dash--core-runner .dock-dash-score-row--pies,.dock-dash--core-runner .dock-dash-combo{display:none}.dock-dash-combo{position:absolute;top:38%;left:50%;transform:translate(-50%,-50%) scale(.6);pointer-events:none;z-index:3;display:flex;align-items:baseline;gap:8px;opacity:0;transition:opacity .22s ease,transform .32s cubic-bezier(.34,1.32,.64,1);filter:drop-shadow(0 2px 4px rgba(0,0,0,.55)) drop-shadow(0 0 16px rgba(255,200,100,.7))}.dock-dash-combo.is-on{opacity:1;transform:translate(-50%,-50%) scale(1)}.dock-dash-milestone{position:absolute;top:24%;left:50%;transform:translate(-50%,-50%) scale(.4);pointer-events:none;z-index:3;display:flex;flex-direction:column;align-items:center;gap:2px;opacity:0;filter:drop-shadow(0 2px 6px rgba(0,0,0,.6)) drop-shadow(0 0 24px rgba(255,200,130,.55))}.dock-dash-milestone.is-on{animation:dockDashMilestone 1.7s cubic-bezier(.34,1.32,.64,1) both}@keyframes dockDashMilestone{0%{opacity:0;transform:translate(-50%,-40%) scale(.4)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}35%{transform:translate(-50%,-50%) scale(1)}78%{opacity:1;transform:translate(-50%,-60%) scale(1)}to{opacity:0;transform:translate(-50%,-75%) scale(.96)}}.dock-dash-milestone-number{font-family:var(--display);font-weight:700;font-size:86px;color:#fff;letter-spacing:-.01em;text-shadow:0 2px 6px rgba(0,0,0,.6);line-height:1}.dock-dash-milestone-label{font-family:var(--body);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.32em;color:#fffbe9eb;text-shadow:0 1px 3px rgba(0,0,0,.55);margin-top:4px}.dock-dash-failquote{position:absolute;left:50%;bottom:16%;transform:translate(-50%,14px);z-index:4;pointer-events:none;max-width:min(86vw,460px);padding:12px 22px;text-align:center;border-radius:18px;background:#0e090675;-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);border:1px solid rgba(255,244,218,.2);box-shadow:0 10px 30px #08050366;opacity:0;transition:opacity .48s ease,transform .56s cubic-bezier(.2,.9,.25,1)}.dock-dash-failquote.is-on{opacity:1;transform:translate(-50%)}.dock-dash-failquote-text{font-family:var(--display);font-feature-settings:var(--display-feat);font-style:italic;font-weight:600;font-size:clamp(18px,4.8vw,26px);line-height:1.28;color:#fffbebf7;text-shadow:0 2px 8px rgba(0,0,0,.6)}.dock-dash-callout{position:absolute;top:30%;left:50%;transform:translate(-50%,-50%) scale(.72);z-index:3;pointer-events:none;opacity:0;font-family:var(--display);font-feature-settings:var(--display-feat);font-weight:700;font-size:clamp(24px,7vw,42px);line-height:.92;color:#fff7d8;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;text-shadow:0 2px 6px rgba(0,0,0,.72),0 0 22px rgba(255,212,130,.52);filter:drop-shadow(0 0 18px rgba(255,180,100,.42))}.dock-dash-callout.is-on{animation:dockDashCallout .62s cubic-bezier(.16,1,.3,1) both}.dock-dash-callout--stumble.is-on{color:#ffb4a0;animation-duration:.9s;text-shadow:0 2px 6px rgba(0,0,0,.72),0 0 24px rgba(255,116,86,.48)}.dock-dash-callout--near.is-on{color:#b9ecff}.dock-dash-callout--pie.is-on{color:#ffd984}.dock-dash-callout--turn.is-on{color:#fff2b8}@keyframes dockDashCallout{0%{opacity:0;transform:translate(-50%,-42%) scale(.62)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.06)}58%{opacity:1;transform:translate(-50%,-55%) scale(1)}to{opacity:0;transform:translate(-50%,-68%) scale(.92)}}.dock-dash-turn-hint{position:absolute;top:36%;left:50%;transform:translate(-50%,-50%) scale(.7);pointer-events:none;z-index:3;color:#fff;opacity:0;transition:opacity .18s ease,transform .32s cubic-bezier(.34,1.32,.64,1);filter:drop-shadow(0 2px 6px rgba(0,0,0,.7)) drop-shadow(0 0 24px rgba(255,220,120,.55))}.dock-dash-turn-hint.is-arming{opacity:.46;transform:translate(-50%,-50%) scale(.88)}.dock-dash-turn-hint.is-on,.dock-dash-turn-hint.is-armed{opacity:1;transform:translate(-50%,-50%) scale(1);animation:dockDashTurnPulse .6s ease-in-out infinite alternate}.dock-dash-turn-hint.is-armed{color:#fff2b8;filter:drop-shadow(0 2px 6px rgba(0,0,0,.7)) drop-shadow(0 0 30px rgba(255,226,122,.86))}.dock-dash-turn-hint.is-right svg{transform:scaleX(-1)}@keyframes dockDashTurnPulse{0%{transform:translate(-50%,-50%) scale(1)}to{transform:translate(-50%,-50%) scale(1.15)}}.dock-dash-speedlines{position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;background:linear-gradient(90deg,rgba(255,240,220,.2) 0%,transparent 12%,transparent 88%,rgba(255,240,220,.2) 100%),radial-gradient(ellipse 50% 95% at 0% 50%,rgba(255,200,150,.18) 0%,transparent 70%),radial-gradient(ellipse 50% 95% at 100% 50%,rgba(255,200,150,.18) 0%,transparent 70%);mix-blend-mode:screen;transition:opacity .24s ease}.dock-dash-tactile{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;mix-blend-mode:screen;background:radial-gradient(ellipse 70% 26% at 50% 76%,rgba(255,247,214,.34) 0%,rgba(255,205,126,.18) 36%,transparent 72%),linear-gradient(90deg,rgba(255,241,210,.08) 0%,transparent 19%,transparent 81%,rgba(255,241,210,.08) 100%)}.dock-dash-tactile.is-on{animation:dockDashTactilePulse .32s cubic-bezier(.16,1,.3,1) both}.dock-dash-tactile--turn.is-on,.dock-dash-tactile--combo.is-on,.dock-dash-tactile--milestone.is-on{background:radial-gradient(ellipse 80% 34% at 50% 60%,rgba(255,246,190,.46) 0%,rgba(255,202,112,.22) 35%,transparent 74%),radial-gradient(ellipse 80% 18% at 50% 86%,rgba(255,255,255,.24) 0%,transparent 68%)}.dock-dash-tactile--fail.is-on,.dock-dash-tactile--recovery.is-on{animation-duration:.52s;background:radial-gradient(ellipse 82% 42% at 50% 70%,rgba(255,120,94,.44) 0%,rgba(255,196,122,.16) 36%,transparent 76%),linear-gradient(90deg,rgba(255,120,94,.18) 0%,transparent 22%,transparent 78%,rgba(255,120,94,.18) 100%)}@keyframes dockDashTactilePulse{0%{opacity:0;transform:scale(.98)}18%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.04)}}@media(prefers-reduced-motion:reduce){.dock-dash-tactile.is-on,.rhythm-run-tactile.is-on{animation:none;opacity:0}}.dock-dash-combo-x{font-family:var(--display);font-weight:700;font-size:64px;color:#ffd984;text-shadow:0 2px 6px rgba(0,0,0,.7);letter-spacing:-.01em}.dock-dash-combo-label{font-family:var(--display);font-weight:600;font-size:22px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.7);text-transform:uppercase;letter-spacing:.12em}.dock-dash-msg{position:absolute;inset:0;display:grid;place-items:center;z-index:4;pointer-events:none;opacity:1;transition:opacity .28s ease}.dock-dash-msg.is-hidden{opacity:0;pointer-events:none}.dock-dash-msg-card{pointer-events:auto;background:#140e1ac7;backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);border:1px solid rgba(255,220,180,.18);border-radius:18px;padding:32px 28px 28px;width:min(86%,360px);text-align:center;color:#fff;box-shadow:inset 0 1px #ffffff29,0 24px 64px #0000008c,0 0 80px #ffb4781a}.dock-dash-msg-overline{font-family:var(--body);text-transform:uppercase;letter-spacing:.26em;font-size:11px;font-weight:600;color:#ffd984;margin:0 0 10px}.dock-dash-msg-overline[hidden]{display:none}.dock-dash-msg-title{font-family:var(--display);font-weight:700;font-size:clamp(28px,6vw,38px);letter-spacing:.02em;text-transform:uppercase;margin:0 0 12px}.dock-dash-msg-sub{font-family:var(--body);font-size:clamp(14px,3.6vw,16px);line-height:1.45;color:#fffbe9d9;margin:0 0 20px}.dock-dash-msg-sub strong{color:#ffd984;font-weight:700}.dock-dash-msg-flavor{font-family:var(--display);font-style:italic;font-size:clamp(13px,3.4vw,15px);color:#fffbe9c7;margin:0 0 14px;font-weight:400}.dock-dash-msg-btn{width:64px;height:64px;border-radius:50%;background:#fffbe9;color:#2a1810;border:none;display:grid;place-items:center;cursor:pointer;margin:0 auto;box-shadow:0 8px 24px #0000006b,0 0 0 1px #ffffff80,inset 0 -2px #0000001f;transition:transform .12s ease,box-shadow .12s ease}.dock-dash-msg-btn:hover{transform:translateY(-1px)}.dock-dash-msg-btn:active{transform:translateY(0) scale(.96)}.dock-dash-msg-btn:focus-visible{outline:2px solid rgba(255,220,160,.85);outline-offset:4px}.dosa-intro-bubble,.dosa-intro-skip,.dosa-intro-bubble-next,.minigame-menu-close,.minigame-marker-pill,.dosa-game-exit,.dosa-game-hint,.dosa-game-objective,.dosa-game-portal-arrow,.dosa-game-welcome-card,.dosa-game-welcome-btn,.dosa-game-portal-prompt,.iguana-run-close,.iguana-run-msg-card,.iguana-run-msg-btn,.rhythm-run-credit,.rhythm-run-medley-toast,.rhythm-run-btn,.rhythm-run-close,.rhythm-run-pause-card,.rhythm-run-pause-btn,.rhythm-run-msg-card,.rhythm-run-msg-btn,.rhythm-run-song,.rhythm-run-diffs,.rhythm-run-diff,.rhythm-run-grade,.dock-dash-btn,.dock-dash-pause-card,.dock-dash-pause-btn,.dock-dash-msg-card,.dock-dash-msg-btn{overflow:hidden;isolation:isolate;color:#fffbe9f5;text-shadow:0 1px 2px rgba(0,0,0,.44);background:linear-gradient(180deg,#ffffff38,#ffffff12 34%,#120a0a4d),radial-gradient(120% 90% at 18% 0%,rgba(255,255,255,.36) 0%,rgba(255,255,255,.1) 34%,transparent 72%),radial-gradient(92% 120% at 88% 100%,rgba(255,178,104,.16) 0%,rgba(255,178,104,.04) 42%,transparent 78%),linear-gradient(135deg,#2a1b18b3,#140d1185,#48231657);-webkit-backdrop-filter:blur(30px) saturate(1.9) contrast(1.08);backdrop-filter:blur(30px) saturate(1.9) contrast(1.08);border:1px solid rgba(255,255,255,.38);box-shadow:inset 0 1px #ffffff94,inset 0 0 0 1px #ffffff14,inset 0 -20px 34px #0c07064d,0 12px 32px #0a060461,0 0 44px #ffd29624}.dosa-intro-bubble-next,.dosa-game-welcome-card,.dosa-game-welcome-btn,.iguana-run-msg-card,.iguana-run-msg-btn,.rhythm-run-btn,.rhythm-run-close,.rhythm-run-pause-card,.rhythm-run-pause-btn,.rhythm-run-msg-card,.rhythm-run-msg-btn,.rhythm-run-song,.rhythm-run-diffs,.rhythm-run-diff,.rhythm-run-grade,.dock-dash-btn,.dock-dash-pause-card,.dock-dash-pause-btn,.dock-dash-msg-card,.dock-dash-msg-btn,.minigame-marker-pill{position:relative}:where(.dosa-intro-bubble,.dosa-intro-skip,.dosa-intro-bubble-next,.minigame-menu-close,.minigame-marker-pill,.dosa-game-exit,.dosa-game-hint,.dosa-game-objective,.dosa-game-portal-arrow,.dosa-game-welcome-card,.dosa-game-welcome-btn,.dosa-game-portal-prompt,.iguana-run-close,.iguana-run-msg-card,.iguana-run-msg-btn,.rhythm-run-credit,.rhythm-run-medley-toast,.rhythm-run-btn,.rhythm-run-close,.rhythm-run-pause-card,.rhythm-run-pause-btn,.rhythm-run-msg-card,.rhythm-run-msg-btn,.rhythm-run-song,.rhythm-run-diffs,.rhythm-run-diff,.rhythm-run-grade,.dock-dash-btn,.dock-dash-pause-card,.dock-dash-pause-btn,.dock-dash-msg-card,.dock-dash-msg-btn)>*{position:relative;z-index:1}.dosa-intro-bubble:before,.dosa-intro-skip:before,.dosa-intro-bubble-next:before,.minigame-menu-close:before,.minigame-marker-pill:before,.dosa-game-exit:before,.dosa-game-hint:before,.dosa-game-objective:before,.dosa-game-portal-arrow:before,.dosa-game-welcome-card:before,.dosa-game-welcome-btn:before,.dosa-game-portal-prompt:before,.iguana-run-close:before,.iguana-run-msg-card:before,.iguana-run-msg-btn:before,.rhythm-run-credit:before,.rhythm-run-medley-toast:before,.rhythm-run-btn:before,.rhythm-run-close:before,.rhythm-run-pause-card:before,.rhythm-run-pause-btn:before,.rhythm-run-msg-card:before,.rhythm-run-msg-btn:before,.rhythm-run-song:before,.rhythm-run-diffs:before,.rhythm-run-diff:before,.rhythm-run-grade:before,.dock-dash-btn:before,.dock-dash-pause-card:before,.dock-dash-pause-btn:before,.dock-dash-msg-card:before,.dock-dash-msg-btn:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.44) 0%,rgba(255,255,255,.13) 18%,transparent 44%),radial-gradient(80% 70% at 88% 12%,rgba(255,237,198,.26) 0%,transparent 58%);mix-blend-mode:screen;opacity:.58}.dosa-intro-bubble{width:min(560px,calc(100% - 32px));min-height:70px;background:radial-gradient(90% 140% at 18% 0%,rgba(255,255,255,.74) 0%,rgba(255,255,255,.32) 38%,transparent 72%),linear-gradient(135deg,#ffffff9e,#fff8e761 48%,#ffbe702e);border-color:#ffffffbd;color:#1e130cf5;box-shadow:inset 0 1px #ffffffeb,inset 0 -20px 38px #7b441c1f,0 16px 42px #10090652,0 0 56px #ffe1ae33}.dosa-intro-bubble:after{content:"";position:absolute;inset:1px;border-radius:inherit;border:1px solid rgba(255,255,255,.3);pointer-events:none}.dosa-intro-bubble-avatar{position:relative;z-index:1;border-color:#ffffffb8;background:#ffffff57;box-shadow:inset 0 1px #ffffffb8,0 5px 14px #140c0847}.dosa-intro-bubble-text,.dosa-intro-bubble-next svg{position:relative;z-index:1}.dosa-intro-bubble-text{text-shadow:0 1px 0 rgba(255,255,255,.54)}.dosa-intro-bubble-next,.dosa-game-welcome-btn,.iguana-run-msg-btn,.rhythm-run-msg-btn,.dock-dash-msg-btn{color:#361f0df5;background:radial-gradient(90% 90% at 34% 8%,rgba(255,255,255,.86),rgba(255,244,218,.38) 48%,transparent 74%),linear-gradient(180deg,#ffe5b2b8,#ffb1666b);border:1px solid rgba(255,255,255,.58);box-shadow:inset 0 1px #fffc,inset 0 -11px 18px #a0521833,0 8px 22px #180c084d,0 0 30px #ffc5782e}.dosa-intro-skip,.minigame-menu-close,.dosa-game-exit,.dosa-game-hint,.dosa-game-objective,.dosa-game-portal-arrow,.dosa-game-portal-prompt,.iguana-run-close,.rhythm-run-credit,.rhythm-run-btn,.rhythm-run-close,.rhythm-run-pause-btn,.rhythm-run-grade,.dock-dash-btn,.dock-dash-pause-btn,.minigame-marker-pill{color:#fffbe9f5;text-shadow:0 1px 2px rgba(0,0,0,.5),0 0 14px rgba(10,6,4,.28)}.dosa-intro-skip:hover,.minigame-menu-close:hover,.dosa-game-exit:hover,.iguana-run-close:hover,.rhythm-run-btn:hover,.rhythm-run-close:hover,.rhythm-run-pause-btn:hover,.dock-dash-btn:hover,.dock-dash-pause-btn:hover,.minigame-marker:not(.is-locked):hover .minigame-marker-pill{background:linear-gradient(180deg,#ffffff42,#ffffff17 34%,#120a0a47),radial-gradient(120% 90% at 18% 0%,rgba(255,255,255,.42) 0%,rgba(255,255,255,.12) 36%,transparent 72%),radial-gradient(92% 120% at 88% 100%,rgba(255,190,116,.2) 0%,rgba(255,190,116,.06) 42%,transparent 78%),linear-gradient(135deg,#3a241cc2,#180f128f,#582a186b);border-color:#ffeeca80;box-shadow:inset 0 1px #ffffff9e,inset 0 -18px 32px #1e100a2e,0 16px 38px #0a060466,0 0 42px #ffc88238}.minigame-marker-pill:before{content:"";display:inline-block;width:8px;height:8px;inset:auto;position:relative;z-index:1;flex:0 0 auto;border-radius:999px;background:var(--mg-accent, #ffd9a3);box-shadow:0 0 0 2px #fffbe98c,0 0 12px var(--mg-accent, #ffd9a3);animation:minigame-marker-pulse 2.4s ease-in-out infinite;opacity:1;mix-blend-mode:normal}.minigame-marker-pill:after{content:"";position:absolute;inset:1px;border-radius:inherit;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.42) 0%,rgba(255,255,255,.08) 34%,transparent 62%),radial-gradient(90% 80% at 86% 12%,rgba(255,229,180,.22) 0%,transparent 62%);mix-blend-mode:screen;opacity:.68}.minigame-marker-pill{padding:9px 15px 9px 12px;background:linear-gradient(180deg,#ffffff3d,#ffffff14 36%,#0c070857),radial-gradient(110% 90% at 16% 0%,rgba(255,255,255,.34) 0%,rgba(255,255,255,.1) 42%,transparent 76%),linear-gradient(135deg,#241714d1,#120c11a3 54%,#50281c70);border-color:#ffffff75;box-shadow:inset 0 1px #ffffff9e,inset 0 0 0 1px #ffffff17,inset 0 -15px 24px #0c07084d,0 10px 28px #0805046b,0 0 30px color-mix(in srgb,var(--mg-accent, #ffd9a3) 28%,transparent)}.minigame-marker-title{color:#fffbe9fc;font-weight:700}.minigame-marker-cta{opacity:1;text-shadow:0 1px 2px rgba(0,0,0,.72),0 0 12px var(--mg-accent, #ffd9a3)}.minigame-marker-pin{border-top-color:#ffffff3d;filter:drop-shadow(0 1px 0 rgba(255,255,255,.18)) drop-shadow(0 3px 8px rgba(20,12,8,.28))}.rhythm-run-song.is-selected,.rhythm-run-diff.is-selected{color:#361f0df5;background:radial-gradient(90% 90% at 34% 8%,rgba(255,255,255,.78),rgba(255,244,218,.34) 48%,transparent 74%),linear-gradient(180deg,#ffe2aea8,#ffb26857);border-color:#fff1d2a3;box-shadow:inset 0 1px #ffffffc7,inset 0 -14px 24px #a5521829,0 8px 24px #140c0842,0 0 30px #ffc67e38}.rhythm-run-song.is-selected .rhythm-run-song-title,.rhythm-run-diff.is-selected{color:#361f0df5;text-shadow:0 1px 0 rgba(255,255,255,.42)}.rhythm-run-song.is-selected .rhythm-run-song-artist{color:#361f0dbd;opacity:1}.rhythm-run-pause-card,.rhythm-run-msg-card,.dock-dash-pause-card,.dock-dash-msg-card,.iguana-run-msg-card,.dosa-game-welcome-card{border-radius:20px;color:#fffbe9f5;text-shadow:0 1px 2px rgba(0,0,0,.46);background:linear-gradient(180deg,#ffffff2e,#ffffff0f 35%,#0c07085c),radial-gradient(120% 100% at 18% 0%,rgba(255,255,255,.3) 0%,rgba(255,255,255,.1) 36%,transparent 74%),radial-gradient(110% 85% at 92% 100%,rgba(255,182,108,.16) 0%,transparent 70%),linear-gradient(145deg,#1e1518c7,#120c129e 54%,#562a1866);border-color:#ffffff5c;box-shadow:inset 0 1px #fff9,inset 0 0 0 1px #ffffff14,inset 0 -28px 44px #0c070847,0 24px 64px #0a06047a,0 0 70px #ffbe7824}.iguana-run-msg-sub,.rhythm-run-msg-sub,.dock-dash-msg-sub,.dock-dash-msg-flavor,.dosa-game-welcome-body{color:#fffbe9d6;opacity:1}.dosa-game-welcome-eyebrow,.rhythm-run-result-kicker,.rhythm-run-result-meta{color:#ffdca8db;opacity:1}@media(max-width:700px),(hover:none)and (pointer:coarse){.dosa-intro-bubble,.dosa-intro-skip,.dosa-intro-bubble-next,.minigame-menu-close,.minigame-marker-pill,.dosa-game-exit,.dosa-game-hint,.dosa-game-objective,.dosa-game-portal-arrow,.dosa-game-welcome-card,.dosa-game-welcome-btn,.dosa-game-portal-prompt,.iguana-run-close,.iguana-run-msg-card,.iguana-run-msg-btn,.rhythm-run-credit,.rhythm-run-medley-toast,.rhythm-run-btn,.rhythm-run-close,.rhythm-run-pause-card,.rhythm-run-pause-btn,.rhythm-run-msg-card,.rhythm-run-msg-btn,.rhythm-run-song,.rhythm-run-diffs,.rhythm-run-diff,.rhythm-run-grade,.dock-dash-btn,.dock-dash-pause-card,.dock-dash-pause-btn,.dock-dash-msg-card,.dock-dash-msg-btn{-webkit-backdrop-filter:blur(20px) saturate(1.65) contrast(1.05);backdrop-filter:blur(20px) saturate(1.65) contrast(1.05);box-shadow:inset 0 1px #ffffff8a,inset 0 0 0 1px #ffffff12,inset 0 -16px 26px #0c070642,0 10px 26px #0a060457}.rhythm-run-pause,.dock-dash-pause{-webkit-backdrop-filter:blur(12px) saturate(1.25);backdrop-filter:blur(12px) saturate(1.25)}}.rhythm-run-msg-card.is-start{gap:9px;width:min(292px,calc(100vw - 42px));max-width:292px;padding:18px 18px 16px;border-radius:18px}.rhythm-run-msg-card.is-start .rhythm-run-msg-title{font-size:23px;line-height:1.04}.rhythm-run-msg-card.is-start .rhythm-run-msg-sub{width:100%;min-height:18px;font-size:12px;line-height:1.2;color:#fffbe9c7}.rhythm-run-selected-track{display:inline-flex;align-items:baseline;justify-content:center;gap:7px;max-width:100%;white-space:nowrap}.rhythm-run-selected-track strong{display:inline-block;max-width:150px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.rhythm-run-selected-track span{color:#fffbe98f;overflow:hidden;text-overflow:ellipsis;max-width:86px}.rhythm-run-msg-card.is-start .rhythm-run-songs{display:flex;justify-content:center;gap:9px;width:auto;margin:3px 0 1px}.rhythm-run-msg-card.is-start .rhythm-run-song{width:58px;height:58px;padding:5px;border-radius:16px;display:grid;place-items:center;flex:0 0 auto}.rhythm-run-msg-card.is-start .rhythm-run-song-cover{width:46px;height:46px;border-radius:12px}.rhythm-run-msg-card.is-start .rhythm-run-song-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.rhythm-run-msg-card.is-start .rhythm-run-song.is-selected{transform:translateY(-1px)}.rhythm-run-msg-card.is-start .rhythm-run-msg-btn{width:50px;height:50px;margin-top:2px}.rhythm-run-msg-card.is-result .rhythm-run-songs{display:none}.rhythm-run-msg-card.is-result .rhythm-run-msg-btn{margin-top:10px}
