html:not(.runner-js) .runner,html:not(.runner-js) .runner-js-only{display:none}.runner{--nav-h: 76px;--sky-bottom: 45%;--gutter: max(var(--space-4), calc(50% - 600px) );position:relative;height:100svh;min-height:460px;overflow:hidden;background:var(--ds-bg);touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.runner [hidden]{display:none!important}.runner__canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.runner__frame{position:absolute;top:var(--nav-h);bottom:calc(100% - var(--sky-bottom));left:var(--gutter);right:var(--gutter);pointer-events:none;container-type:size}.runner__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.runner__hud{position:absolute;top:var(--space-2);left:0;display:grid;gap:4px;z-index:2}.runner[data-state=picker] .runner__hud,.runner[data-state=loading] .runner__hud{display:none}.hud-energy{display:inline-flex;align-items:center;gap:var(--space-2);padding:6px 16px 6px 8px;border-radius:var(--radius-pill);background:#0c0f14b8;border:2px solid var(--energy);width:max-content}.hud-energy img{width:34px;height:34px}.hud-energy__value{font-family:var(--font-display);font-size:32px;line-height:1;color:var(--energy);min-width:2ch}.hud-energy__label{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--text-soft)}.hud-energy.is-pop{animation:hudPop .28s var(--ease-bounce)}.hud-energy.is-reset{animation:hudReset .6s ease}@keyframes hudPop{50%{transform:scale(1.12)}}@keyframes hudReset{0%,to{transform:none}15%,45%,75%{transform:translate(-6px);border-color:var(--health)}30%,60%,90%{transform:translate(6px);border-color:var(--health)}}.hud-meta{display:flex;gap:var(--space-3);padding-left:var(--space-2);font-size:var(--text-xs);letter-spacing:var(--tracking-normal);color:var(--text-soft);text-shadow:0 1px 6px rgba(0,0,0,.8)}.hud-meta b{color:var(--text)}.runner__beats{position:absolute;inset:0}.runner[data-state=picker] .runner__beats,.runner[data-state=endless] .runner__beats{display:none}.beat{--visual-h: min(100cqh, 460px);--cards-h: min(100cqh, 380px);position:absolute;inset:0;opacity:0;transform:translate(12%);transition:opacity .55s var(--ease-out),transform .9s var(--ease-bounce)}.beat[data-state=active]{opacity:1;transform:none;animation:beatDrift 7.5s linear forwards}.beat[data-state=past]{opacity:0;transform:translate(-14%)}@keyframes beatDrift{to{translate:-2.5% 0}}.beat>.beat__copy{position:absolute;left:0;bottom:0;max-width:min(48ch,100%)}.beat__copy{padding-bottom:var(--space-2);text-shadow:0 2px 14px rgba(0,0,0,.75)}.beat__kicker{margin:0 0 var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--energy)}.beat__title{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:clamp(24px,4vw,52px);line-height:var(--leading-display);letter-spacing:var(--tracking-tight);text-transform:uppercase;color:var(--text)}.beat__text{margin:0;font-size:clamp(14px,1.5vw,18px);line-height:var(--leading-normal);color:var(--text-soft)}.beat__text--lead{font-size:clamp(16px,2vw,24px);color:var(--text)}.beat__logo{display:block;width:auto;height:auto;max-width:clamp(150px,24vw,300px);max-height:40cqh;margin-bottom:var(--space-3);filter:drop-shadow(0 12px 24px rgba(0,0,0,.6))}.beat--logo .beat__kicker{color:var(--text-soft)}.beat>.beat__phone,.beat>.beat__cards{position:absolute;top:0;right:0}.beat__phone{margin:0;height:var(--visual-h, 320px);aspect-ratio:540 / 1174;border-radius:18px;border:3px solid #000;overflow:hidden;rotate:3deg;background:var(--bg-primary);box-shadow:var(--shadow-card)}.beat__phone img{width:100%;height:100%;object-fit:contain;object-position:top}.beat__cards{position:relative;height:var(--cards-h, 240px);aspect-ratio:1}.beat__cards img{position:absolute;bottom:0;left:50%;width:56%;height:auto;border-radius:var(--radius-md);box-shadow:var(--shadow-card);transform-origin:50% 110%}.beat__cards img:nth-child(1){transform:translate(-50%) rotate(-16deg)}.beat__cards img:nth-child(2){transform:translate(-50%) rotate(14deg)}.beat__cards img:nth-child(3){transform:translate(-50%)}.beat__stats{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0 0;padding:0;list-style:none}.beat__stats li{display:grid;grid-template-columns:26px auto;align-items:center;column-gap:6px;padding:6px 12px 8px 8px;border-radius:var(--radius-md);background:#0c0f14b8;font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-normal);text-transform:uppercase;color:var(--stat)}.beat__stats img{width:26px;height:26px;grid-row:span 2}.beat__stats i{display:block;height:5px;width:64px;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--stat) 70%,rgba(255,255,255,.12) 70%)}.runner__hint,.runner__loading{position:absolute;left:50%;top:58%;transform:translate(-50%,-50%);margin:0;padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:#0c0f14cc;border:1px solid var(--ds-border-strong);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text);white-space:nowrap;pointer-events:none;animation:floatTag 1.6s ease-in-out infinite}.runner__lost{position:absolute;left:50%;top:calc(var(--sky-bottom) + 8%);display:grid;gap:2px;justify-items:center;width:max-content;max-width:calc(100vw - var(--space-8));padding:var(--space-3) var(--space-5);border-radius:var(--radius-xl);background:#0c0f14e6;border:2px solid var(--health);text-align:center;pointer-events:none;transform:translate(-50%,var(--lost-y, -50%));z-index:3}.runner__lost strong{font-family:var(--font-display);font-size:clamp(20px,5.5vw,34px);white-space:nowrap;letter-spacing:var(--tracking-normal);color:var(--health);text-transform:uppercase}.runner__lost span{font-size:var(--text-sm);color:var(--text)}.runner__lost em{font-size:var(--text-xs);color:var(--text-soft)}.runner__lost.is-on{animation:lostIn 2.6s var(--ease-bounce) forwards}@keyframes lostIn{0%{opacity:0;transform:translate(-50%,var(--lost-y, -50%)) scale(.7)}12%,82%{opacity:1;transform:translate(-50%,var(--lost-y, -50%)) scale(1)}to{opacity:0;transform:translate(-50%,calc(var(--lost-y, -50%) + 12%)) scale(1)}}.runner__controls{position:absolute;left:var(--gutter);right:var(--gutter);bottom:max(var(--space-3),env(safe-area-inset-bottom));display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-2);z-index:2}.runner__chip{min-height:40px;padding:0 var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--ds-border-strong);background:#0c0f14c7;color:var(--text);font:var(--weight-semibold) var(--text-sm) / 1 var(--font-body);cursor:pointer;transition:border-color var(--dur-fast),color var(--dur-fast)}.runner__chip:hover,.runner__chip[aria-pressed=true]{border-color:var(--cta);color:var(--cta)}.runner__chip--ghost{background:transparent;border-color:transparent;color:var(--text-soft);text-decoration:underline}.runner__dots{display:flex;gap:2px;margin:0;padding:0;list-style:none}.runner__dots button{display:grid;place-items:center;width:22px;height:40px;padding:0;border:0;background:none;cursor:pointer}.runner__dots span{width:8px;height:8px;border-radius:50%;background:#ffffff40;transition:background var(--dur-fast),transform var(--dur-fast)}.runner__dots button[aria-current] span{background:var(--energy);transform:scale(1.35)}.runner.is-paused .runner__canvas{filter:brightness(.6) saturate(.7)}.runner__link{border:0;background:none;padding:var(--space-2);color:var(--text-soft);font:var(--weight-medium) var(--text-sm) / 1.2 var(--font-body);text-decoration:underline;cursor:pointer}.runner__link:hover{color:var(--text)}.runner__picker{position:absolute;inset:0;overflow-y:auto;display:grid;place-items:center;padding:calc(var(--nav-h) + var(--space-2)) var(--space-4) var(--space-6);background:linear-gradient(180deg,#12161c73,#12161ce6 70%);z-index:4}.picker{width:100%;max-width:1180px;text-align:center}.picker__kicker{margin:0 0 var(--space-2);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--energy)}.picker__title{margin:0;font-family:var(--font-display);font-size:clamp(30px,5.4vw,64px);line-height:var(--leading-display);text-transform:uppercase}.picker__sub{margin:var(--space-2) auto var(--space-5, 20px);max-width:40ch;color:var(--text-soft);font-size:clamp(14px,1.6vw,17px)}.picker__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);max-width:520px;margin:0 auto}@media(min-width:1000px)and (min-height:760px),(min-aspect-ratio:3/2)and (min-width:640px){.picker__grid{grid-template-columns:repeat(6,minmax(0,1fr));max-width:min(1080px,calc((100svh - var(--picker-chrome, 330px)) * 4.3))}}.critter-card{position:relative;display:block;aspect-ratio:530 / 742;padding:0;overflow:hidden;border-radius:var(--radius-lg);border:2px solid var(--ds-border);background:var(--ds-surface);cursor:pointer;filter:saturate(.7) brightness(.72);transition:transform var(--dur-mid) var(--ease-bounce),filter var(--dur-mid),border-color var(--dur-mid),box-shadow var(--dur-mid)}.critter-card:hover,.critter-card:focus-visible{filter:none}.critter-card[aria-checked=true]{filter:none;border-color:var(--rarity);box-shadow:0 0 0 3px var(--rarity),0 18px 40px -14px var(--rarity);transform:translateY(-6px)}.critter-card img{width:100%;height:100%;object-fit:cover}.critter-card__rarity{position:absolute;top:6px;left:6px;padding:2px 8px;border-radius:var(--radius-pill);background:#0c0f14cc;color:var(--rarity);font-size:10px;font-weight:var(--weight-bold);letter-spacing:var(--tracking-normal);text-transform:uppercase}.critter-card__name{position:absolute;inset:auto 0 0;padding:var(--space-5, 20px) 4px 6px;background:linear-gradient(transparent,#0c0f14eb);font-family:var(--font-display);font-size:clamp(13px,1.6vw,18px);letter-spacing:var(--tracking-normal);color:var(--text)}.picker__line{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 8px;margin:var(--space-4) auto var(--space-3);max-width:52ch;min-height:3em;font-size:var(--text-sm);color:var(--text-soft)}.picker__line strong{color:var(--text)}.picker__line em{flex-basis:100%;font-size:var(--text-xs);color:var(--text-muted)}.picker__actions{display:grid;justify-items:center;gap:var(--space-2)}.runner__finale{position:absolute;inset:var(--nav-h) 0 0;display:grid;place-items:start center;padding:var(--space-2) var(--space-4) var(--space-4);overflow-y:auto;z-index:4}.finale{position:relative;width:100%;max-width:560px;padding:var(--space-6) var(--space-6) var(--space-6);border-radius:var(--radius-xl);background:#0c0f14cc;border:1px solid var(--ds-border-strong);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);text-align:center}.finale__champion{display:block;width:clamp(96px,16vh,150px);height:auto;margin:calc(var(--space-12) * -1) auto var(--space-2)}.finale__credits{display:grid;gap:6px;margin:0 0 var(--space-6)}.finale__credits div{display:grid;grid-template-columns:1fr auto 1fr;align-items:baseline;gap:var(--space-3);font-size:var(--text-sm);opacity:0}.finale__credits div:before{content:"";order:2;border-bottom:1px dotted var(--ds-border-strong);min-width:24px}.finale__credits dt{order:1;text-align:right;color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--tracking-normal);font-size:var(--text-xs)}.finale__credits dd{order:3;margin:0;text-align:left;color:var(--text);font-weight:var(--weight-semibold)}.finale__cta{opacity:0}.finale__title{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:clamp(28px,4.4vw,48px);line-height:var(--leading-display);text-transform:uppercase;color:var(--cta)}.finale__cta p{margin:0 0 var(--space-4);color:var(--text-soft)}.finale__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2);margin-top:var(--space-4)}.runner__finale.is-on .finale__credits div{animation:creditIn .5s var(--ease-out) forwards}.runner__finale.is-on .finale__credits div:nth-child(2){animation-delay:.35s}.runner__finale.is-on .finale__credits div:nth-child(3){animation-delay:.7s}.runner__finale.is-on .finale__credits div:nth-child(4){animation-delay:1.05s}.runner__finale.is-on .finale__credits div:nth-child(5){animation-delay:1.4s}.runner__finale.is-on .finale__credits div:nth-child(6){animation-delay:1.75s}.runner__finale.is-on .finale__credits div:nth-child(7){animation-delay:2.1s}.runner__finale.is-on .finale__cta{animation:creditIn .6s var(--ease-out) 2.8s forwards}@keyframes creditIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:760px){.runner{--nav-h: 64px;--sky-bottom: 46%}.beat{--visual-h: min(100cqh, 230px);--cards-h: min(100cqh, 170px)}.beat>.beat__phone{border-width:2px;border-radius:12px}.beat__stats i{width:44px}.hud-energy__value{font-size:26px}.hud-energy img{width:28px;height:28px}.runner__chip--ghost,.runner__dots{display:none}}@media(max-aspect-ratio:4/5){.runner__lost{--lost-y: 0%;top:calc(74% + var(--space-3));padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg)}.runner__lost strong{font-size:20px}.runner__lost span{font-size:12px}.runner__lost em{display:none}}@media(max-height:560px){.runner{--nav-h: 60px;--sky-bottom: 48%}.runner__beats{top:0;left:45%}.beat__phone,.beat__cards,.beat__stats,.beat__kicker{display:none}.beat__title{font-size:clamp(20px,3.4vw,32px)}.beat__text{font-size:13px}.beat__logo{width:140px}.runner__hint{top:62%}.runner__lost{--lost-y: 0%;top:calc(var(--nav-h) + var(--space-2));left:auto;right:var(--space-4);translate:50% 0;padding:var(--space-2) var(--space-4)}.runner__lost em,.finale__champion{display:none}.runner__picker{--picker-chrome: 200px;padding-top:calc(var(--nav-h) + var(--space-1));padding-bottom:var(--space-2)}.picker__kicker,.picker__sub,.picker__line em{display:none}.picker__title{font-size:26px;margin-bottom:var(--space-2)}.picker__line{min-height:0;margin:var(--space-2) auto}.picker__actions{display:flex;justify-content:center;align-items:center}.picker__actions .cc-btn{padding:12px 24px;font-size:16px}.finale{padding:var(--space-3) var(--space-4)}.finale__credits{grid-template-columns:1fr 1fr;column-gap:var(--space-4);margin-bottom:var(--space-3)}.finale__credits div{font-size:var(--text-xs)}.finale__title{font-size:24px}.finale__actions{margin-top:var(--space-2)}.finale__actions .cc-btn{padding:10px 18px;font-size:14px}}.credits-fallback{padding:calc(var(--nav-h, 76px) + var(--space-8)) var(--space-4) var(--space-12);max-width:1080px;margin:0 auto}.runner-js .credits-fallback{padding-top:var(--space-12)}.credits-fallback__header{text-align:center;margin-bottom:var(--space-8)}.credits-fallback__header h2{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:clamp(32px,5vw,56px);text-transform:uppercase}.credits-fallback__header p{margin:0 0 var(--space-4);color:var(--text-soft)}.credits-fallback__list{display:grid;gap:var(--space-8);margin:0;padding:0;list-style:none}.credit-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-6);padding:var(--space-6);border-radius:var(--radius-xl);background:var(--ds-surface);border:1px solid var(--ds-border)}.credit-row h3{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:clamp(24px,3.4vw,40px);line-height:var(--leading-display);text-transform:uppercase}.credit-row p{margin:0;color:var(--text-soft);line-height:var(--leading-normal)}.credit-row .beat__kicker{margin-bottom:var(--space-2)}.credit-row .beat__phone{height:320px;max-height:none}.credit-row .beat__cards{height:240px}@media(min-width:1000px){.credits-fallback__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}.credit-row .beat__phone{height:280px}.credit-row .beat__cards{height:200px}.credit-row:last-child:nth-child(odd){grid-column:1 / -1}}.credits-fallback__final{margin-top:var(--space-12);text-align:center}.credits-fallback__final h3{margin:0 0 var(--space-2);font-family:var(--font-display);font-size:clamp(32px,5vw,56px);text-transform:uppercase;color:var(--cta)}.credits-fallback__final p{margin:0 0 var(--space-6);color:var(--text-soft)}@media(max-width:640px){.credit-row{grid-template-columns:1fr;justify-items:center;text-align:center}.credit-row .beat__stats{justify-content:center}.credit-row .beat__phone{height:280px}}
