/* Bean Shot page: header, game stage, the Wallet of passes, questions and terms.
   Everything is scoped under .tas-bs; site tokens are read with fallbacks. */
.tas-bs{
  --night:#161b33;--night-deep:#0b0f22;--ink:#070b1a;
  --label:#fff;--label-2:rgba(235,235,245,.7);--label-3:rgba(235,235,245,.62);
  --fill:rgba(118,118,128,.24);--fill-2:rgba(118,118,128,.14);--separator:rgba(84,84,88,.55);
  --gold:#f5c451;--gold-light:#ffd978;--gold-deep:#e8a93a;--on-gold:#221703;
  --red:var(--_colors---primary--accent,#de4233);--paper:var(--_colors---primary--paper,#f8f7f3);
  --glass:rgba(22,24,38,.58);--glass-strong:rgba(22,24,38,.78);
  --glass-rim:inset 0 1px 0 rgba(255,255,255,.3),inset 0 0 0 .5px rgba(255,255,255,.18),inset 0 -1px 1px rgba(255,255,255,.05);
  --glass-edge:0 0 0 .5px rgba(0,0,0,.5);
  --blur:blur(18px) saturate(170%) brightness(.94);
  --lift:0 18px 40px rgba(0,0,0,.36),0 3px 10px rgba(0,0,0,.24);
  --display:"bebas-neue","Bebas Neue","Arial Narrow",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
  --text:"omnes-cond","Omnes Condensed",-apple-system,BlinkMacSystemFont,system-ui,"Segoe UI",Roboto,sans-serif;
  --spring:linear(0,.009,.035 2.1%,.141 4.4%,.281 6.7%,.723 12.9%,.938 16.7%,1.017 20.1%,1.043 23.5%,1.042 26.7%,1.019 34.1%,1.001 42.4%,.996 51.1%,1);
  --ease:cubic-bezier(.22,1,.36,1);
  --top-h:60px;--gutter:16px;--max:1240px;--bsh-top:calc(var(--top-h) + env(safe-area-inset-top));
  --safe-b:max(14px,env(safe-area-inset-bottom));
  position:relative;color:var(--label);background:linear-gradient(180deg,var(--night) 0,var(--night) calc(100% - 360px),var(--night-deep) 100%);
  font:400 18px/1.4 var(--text);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;
}
.tas-bs *,.tas-bs *::before,.tas-bs *::after{box-sizing:border-box}
.tas-bs ::selection{background:rgba(245,196,81,.36);color:#fff}
.tas-bs :where(h2,h3,h4,p,ol,ul,dl,dd,figure){margin:0}
.tas-bs :where(ol,ul){padding:0;list-style:none}
.tas-bs :where(a){color:inherit}
.tas-bs :where(button){font:inherit;color:inherit;letter-spacing:inherit;margin:0;border:0;background:none;padding:0;cursor:pointer;touch-action:manipulation}
.tas-bs :is(a,button,summary):focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:12px}
.tas-bs .bs-small a,.tas-bs .bs-faq a,.tas-bs .bs-legal a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;text-decoration-color:rgba(245,196,81,.6)}
.tas-bs mark.bs-tbc{background:rgba(245,196,81,.16);color:var(--gold-light);border-radius:6px;padding:0 .25em;box-decoration-break:clone;-webkit-box-decoration-break:clone}

/* This page's ground is the night, top to footer. */
body:has(.tas-bs){background:#0b0f22}

/* Header: one slim glass bar with both marks. */
.bs-top{position:fixed;z-index:90;top:0;left:0;right:0;height:calc(var(--top-h) + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));
  display:flex;align-items:center;gap:10px;background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 -.5px 0 rgba(255,255,255,.12);
  transition:transform .5s var(--ease),opacity .3s}
.bs-top__studio{display:flex;align-items:center;gap:10px;text-decoration:none;min-height:44px}
.bs-top__studio img{width:32px;height:32px;border-radius:7px}
.bs-top__studio span{font:600 22px/1 var(--display);letter-spacing:.01em;text-transform:uppercase;white-space:nowrap}
.bs-top__x{font:400 18px/1 var(--text);color:var(--label-3)}
.bs-top__bean{display:flex;align-items:center;min-height:44px}
.bs-top__bean img{height:30px;width:auto}
.bs-top__nav{margin-left:auto;display:flex;gap:4px;padding:4px;border-radius:999px;background:var(--fill-2);box-shadow:inset 0 .5px 0 rgba(255,255,255,.12)}
.bs-top__nav a{display:flex;align-items:center;min-height:36px;padding:0 16px;border-radius:999px;text-decoration:none;font:400 22px/1 var(--display);letter-spacing:.04em;text-transform:uppercase;color:var(--label-2);transition:background-color .25s,color .25s}
.bs-top__nav a:hover{color:#fff}
.bs-top__nav a[aria-current]{color:#fff;background:rgba(255,255,255,.14);box-shadow:inset 0 .5px 0 rgba(255,255,255,.3)}
.bs-top__share,.bs-top__menu{flex:none;display:grid;place-items:center;width:44px;height:44px;margin-left:6px;border-radius:50%;color:var(--label);background:var(--fill-2);box-shadow:inset 0 .5px 0 rgba(255,255,255,.14);transition:transform .45s var(--spring),background-color .2s}
.bs-top__menu{margin-left:0}
:is(.bs-top__share,.bs-top__menu):hover{background:var(--fill)}:is(.bs-top__share,.bs-top__menu):active{transform:scale(.92)}
.bs-top__share[data-copied]{color:var(--gold)}
:is(.bs-top__share,.bs-top__menu) svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bs-top__menu:has(+ .bs-menu:popover-open){color:var(--on-gold);background:var(--gold)}

/* The studio menu: a glass panel from the header, in the browser's top layer (the popover API: tap outside or
   press Escape to close). Browsers without popovers simply have no menu; the logo and the footer still link out. */
.bs-menu{position:fixed;inset:calc(var(--top-h) + env(safe-area-inset-top) + 8px) max(12px,env(safe-area-inset-right)) auto auto;
  width:min(540px,calc(100vw - 24px));max-height:calc(100dvh - var(--top-h) - env(safe-area-inset-top) - 24px);overflow:auto;overscroll-behavior:contain;
  margin:0;padding:22px 24px 20px;border:0;border-radius:28px;color:var(--label);background:var(--glass-strong);
  -webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--glass-rim),var(--glass-edge),var(--lift);
  font:400 18px/1.4 var(--text);letter-spacing:-.01em;
  opacity:0;transform:translateY(-10px) scale(.97);transform-origin:top right;
  transition:opacity .2s,transform .4s var(--ease),overlay .4s allow-discrete,display .4s allow-discrete}
.bs-menu:popover-open{opacity:1;transform:none}
@starting-style{.bs-menu:popover-open{opacity:0;transform:translateY(-10px) scale(.97)}}
.bs-menu::backdrop{background:rgba(5,7,16,0);transition:background-color .3s,overlay .3s allow-discrete,display .3s allow-discrete}
.bs-menu:popover-open::backdrop{background:rgba(5,7,16,.34)}
@starting-style{.bs-menu:popover-open::backdrop{background:rgba(5,7,16,0)}}
.bs-menu__nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
.bs-menu__label{margin:0 0 6px;font:400 14px/1.2 var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--label-3)}
.bs-menu__nav a{display:flex;align-items:center;min-height:42px;font-size:21px;line-height:1.15;text-decoration:none;color:var(--label);transition:color .2s}
.bs-menu__nav a:hover{color:var(--gold-light)}
.bs-menu__foot{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:18px;padding-top:18px;box-shadow:inset 0 .5px 0 var(--separator)}
.bs-menu__case{font-size:17px;color:var(--label-2);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;text-decoration-color:rgba(245,196,81,.6)}
.bs-menu__case:hover{color:var(--label)}
@supports not selector(:popover-open){.bs-top__menu,.bs-menu{display:none}}
.tas-bs[data-playing] .bs-top{transform:translateY(-110%);opacity:0}

/* Shared section head: large title, one line under it. */
.bs-head{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.bs-head h2{font:600 clamp(54px,8.4vw,112px)/.92 var(--display);letter-spacing:.005em;text-transform:uppercase;text-wrap:balance}
.bs-head h2 .bs-head__display{display:block}
.bs-head h2 .bs-head__sub{display:block;margin-top:14px;max-width:34em;font:400 clamp(19px,1.7vw,22px)/1.35 var(--text);letter-spacing:-.01em;text-transform:none;color:var(--label-2);text-wrap:pretty}
.bs-head__md .bs-head__display{font-size:clamp(44px,6vw,80px)}.bs-head__sm{font:600 clamp(34px,3.4vw,46px)/1 var(--display);text-transform:uppercase}
.bs-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bs-head p{margin-top:14px;max-width:34em;font-size:clamp(19px,1.7vw,22px);line-height:1.35;color:var(--label-2);text-wrap:pretty}

/* The game stage. */
.bs-play{position:relative;padding:clamp(88px,11vw,140px) 0 clamp(56px,7vw,96px);scroll-margin-top:0}
.bs-play:focus{outline:none}
.bs-stage{max-width:var(--max);margin:clamp(28px,4vw,44px) auto 0;padding:0 var(--gutter)}
.tas-rush-frame{position:relative;width:100%}
.tas-rush-frame iframe{display:block;width:100%;height:min(820px,calc(100svh - var(--top-h) - 48px));min-height:560px;border:0;border-radius:32px;background:#161b33;
  box-shadow:0 0 0 .5px rgba(255,255,255,.14),0 30px 80px rgba(0,0,0,.5),0 6px 18px rgba(0,0,0,.3)}
.tas-rush-frame.is-expanded iframe{position:fixed;inset:0;z-index:2147483000;width:100vw;height:100vh;height:100dvh;min-height:0;border-radius:0;box-shadow:none}
/* A run on a phone is a full-screen view, pinned to the screen whatever the scroll position, and kept inside the
   safe area (a framed game can't see the notch or the home bar itself). The night fills the edges. */
.tas-bs[data-playing]::after{content:"";position:fixed;inset:0;z-index:2147482999;background:#161b33}
.tas-bs[data-playing] .tas-rush-frame iframe{position:fixed;z-index:2147483000;
  inset:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);
  width:calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));width:calc(100dvw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));
  height:calc(100vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));
  min-height:0;border-radius:0;box-shadow:none}

/* How to play, under the stage. */
.bs-howto{max-width:var(--max);margin:18px auto 0;padding:0 var(--gutter);display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px}
.bs-howto__title{flex:1 1 100%;font:600 26px/1 var(--display);letter-spacing:.02em;text-transform:uppercase}
.bs-howto__more{flex:1 1 100%;margin:0;font-size:17px;line-height:1.4;color:var(--label-2)}
.bs-howto dl{flex:1 1 640px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 22px;margin:0}
.bs-howto dt{font:400 22px/1 var(--display);letter-spacing:.03em;text-transform:uppercase;color:var(--gold)}
.bs-howto dd{margin:4px 0 0;font-size:16px;line-height:1.3;color:var(--label-2)}
.bs-open{flex:none;font-size:17px;color:var(--label-2);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em;text-decoration-color:rgba(255,255,255,.35)}
.bs-open:hover{color:#fff}

/* The whole cup, unrolled: the level itself, credited to the painter. */
.bs-unrolled{max-width:var(--max);margin:clamp(36px,5vw,64px) auto 0;padding:0 var(--gutter)}
.bs-unrolled img{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 0 0 .5px rgba(255,255,255,.14),var(--lift)}
.bs-unrolled figcaption{margin-top:12px;font-size:16px;line-height:1.4;color:var(--label-2)}
.bs-unrolled figcaption a{color:#fff;text-decoration:underline;text-underline-offset:.2em;text-decoration-color:rgba(245,196,81,.6)}

/* The Wallet. */
.bs-wallet{padding:clamp(56px,8vw,120px) 0 clamp(40px,6vw,80px)}
.bs-stack{max-width:var(--max);margin:clamp(28px,4vw,48px) auto 0;padding:0 var(--gutter);display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;align-items:start}
.bs-pass{--pass-ground:#1b2a66;--pass-ink:#fff;--pass-2:rgba(255,255,255,.72);--pass-rule:rgba(255,255,255,.16);
  position:relative;overflow:clip;border-radius:22px;color:var(--pass-ink);background:var(--pass-ground);scroll-margin-top:calc(var(--top-h) + 16px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 0 0 .5px rgba(255,255,255,.12),var(--lift);view-transition-class:bs-pass}
.bs-pass__strip{display:flex;align-items:center;gap:12px;min-height:64px;padding:14px 18px}
.bs-pass__strip img{height:34px;width:auto;border-radius:8px;flex:none}
.bs-pass__strip .bs-pass__mark{height:34px;width:auto;border-radius:0}
.bs-pass__title{flex:1;min-width:0;font:600 25px/1 var(--display);letter-spacing:.01em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bs-pass__pick{display:none}
.bs-pass__tag{flex:none;white-space:nowrap;font:400 13px/1 var(--text);letter-spacing:.06em;text-transform:uppercase;color:var(--pass-2)}
.bs-pass__body{position:relative;padding:4px 18px 20px}
.bs-label{display:block;font:400 12px/1.2 var(--text);letter-spacing:.08em;text-transform:uppercase;color:var(--pass-2)}
.bs-primary{padding:6px 0 14px}
.bs-figure{display:block;margin-top:4px;font:400 clamp(58px,6vw,76px)/.9 var(--display);letter-spacing:.01em;font-variant-numeric:tabular-nums}
.bs-figure--words{font-size:clamp(40px,4vw,50px);line-height:.95;text-transform:uppercase}
.bs-figure .u{font:400 .42em/1 var(--text);margin-left:.06em;letter-spacing:0}
.bs-primary__note{display:block;margin-top:6px;font-size:17px;color:var(--pass-2)}
.bs-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:12px 16px;padding:14px 0;border-top:.5px solid var(--pass-rule)}
.bs-fields mark{white-space:nowrap}
.bs-by{padding:14px 0;border-top:.5px solid var(--pass-rule);font-size:18px;line-height:1.25}
.bs-pass__top{display:flow-root}
/* Desktop: the three passes stand the same height, text from the top, actions and the "more" row on one shared
   base line, so the Wallet reads as one set of cards rather than three lengths. */
@media (min-width:900px){
  .bs-stack{align-items:stretch}
  .bs-pass{display:flex;flex-direction:column}
  .bs-pass__body{flex:1;display:flex;flex-direction:column}
  .bs-pass__end{margin-top:auto;padding-top:6px}
}
.bs-fields dd{margin-top:3px;font-size:18px;line-height:1.25;text-wrap:pretty}
.bs-fact{padding:0 0 14px;font-size:18px;line-height:1.4;color:var(--pass-2);text-wrap:pretty}
.bs-pass--race .bs-fact{padding-top:2px}
/* The prize, first thing in the race pass: a gold ticket. */
.bs-prize{display:flex;align-items:center;gap:14px;margin:2px 0 14px;padding:14px 16px;border-radius:16px;color:var(--on-gold);
  background:linear-gradient(180deg,var(--gold-light),var(--gold-deep));box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 -2px 4px rgba(122,74,0,.22),0 8px 20px rgba(0,0,0,.25)}
.bs-prize__ic{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(34,23,3,.12)}
.bs-prize__ic svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.bs-prize strong{display:block;font:400 30px/1 var(--display);letter-spacing:.02em;text-transform:uppercase}
.bs-prize span span{display:block;margin-top:3px;font-size:16px;line-height:1.3;opacity:.86}
.bs-lede{padding:0 0 14px;font-size:19px;line-height:1.38;color:var(--pass-2);text-wrap:pretty}
.bs-board{display:grid;gap:2px;margin:2px 0 14px}
.bs-board li{display:grid;grid-template-columns:28px 1fr auto;align-items:baseline;gap:8px;min-height:36px;padding:6px 10px;border-radius:12px;background:rgba(255,255,255,.06);font-size:17px}
.bs-board li b{font:400 22px/1 var(--display);color:var(--pass-2)}
.bs-board li:first-child b{color:var(--gold)}
.bs-board li span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bs-board li strong{font:400 24px/1 var(--display);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.bs-board li strong .u{font:400 .55em/1 var(--text);margin-left:.05em}
.bs-board li[data-you]{background:rgba(245,196,81,.18);box-shadow:inset 0 0 0 .5px rgba(245,196,81,.5)}
.bs-board li.is-empty{grid-template-columns:1fr;color:var(--pass-2)}
.bs-board li.is-skeleton{min-height:36px;background:rgba(255,255,255,.04)}
.bs-board[data-sample]::after{content:"Sample times for this preview";display:block;margin-top:4px;font-size:13px;color:var(--pass-2);text-align:right}
.bs-actions{display:flex;flex-wrap:wrap;gap:8px}
.bs-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 18px;border-radius:999px;text-decoration:none;font:400 17px/1.1 var(--text);color:var(--pass-ink);
  background:rgba(255,255,255,.12);box-shadow:inset 0 .5px 0 rgba(255,255,255,.22);transition:transform .45s var(--spring),background-color .2s,filter .2s}
.bs-btn:hover{background:rgba(255,255,255,.18)}
.bs-btn:active{transform:scale(.96)}
.bs-btn--gold,.bs-btn--light,.bs-btn--red{font:400 22px/1 var(--display);letter-spacing:.04em;text-transform:uppercase}
.bs-btn--gold{color:var(--on-gold);background:linear-gradient(180deg,var(--gold-light),var(--gold-deep));box-shadow:inset 0 1px 0 rgba(255,255,255,.6),inset 0 -2px 4px rgba(122,74,0,.22),0 8px 20px rgba(0,0,0,.3)}
.bs-btn--gold:hover{background:linear-gradient(180deg,#ffe08e,#eeb14a)}
.bs-btn--light{color:#0b0b0b;background:#f8f7f3}
.bs-btn--light:hover{background:#fff}
.bs-btn--red{color:#fff;background:var(--red);box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 8px 20px rgba(0,0,0,.28)}
.bs-btn--red:hover{background:#e8513f}
.bs-actions .bs-btn:first-child{flex:1 1 100%}
.bs-more{margin-top:14px;border-top:.5px solid var(--pass-rule)}
.bs-more summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:10px 2px;cursor:pointer;list-style:none;font-size:17px;color:var(--pass-ink)}
.bs-more summary::-webkit-details-marker{display:none}
.bs-more summary::after{content:"";flex:none;width:9px;height:9px;border-right:2px solid var(--pass-2);border-bottom:2px solid var(--pass-2);transform:rotate(-45deg);transition:transform .4s var(--spring)}
.bs-more[open] summary::after{transform:rotate(45deg)}
.bs-more__body{display:grid;gap:12px;padding:4px 0 8px}
.bs-more h4{margin-top:6px;font:600 24px/1 var(--display);letter-spacing:.02em;text-transform:uppercase}
.bs-more p{font-size:18px;line-height:1.45;color:var(--pass-2);text-wrap:pretty}
.bs-steps{display:grid;gap:10px;counter-reset:s}
.bs-steps li{position:relative;padding-left:40px;font-size:17px;line-height:1.38;color:var(--pass-2)}
.bs-steps li::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:0;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font:400 18px/1 var(--display);color:var(--on-gold);background:var(--gold)}
.bs-steps strong{font-weight:400;color:var(--pass-ink)}
.bs-terms{display:grid;gap:10px}
.bs-terms div{display:grid;grid-template-columns:120px 1fr;gap:12px;font-size:16px;line-height:1.38}
.bs-terms dt{color:var(--pass-2)}
.bs-small{font-size:16px;color:var(--pass-2)}

/* Pass grounds: the race in the cup's navy with a gold foil edge, Bean Shot in its own black and white,
   the studio in the studio's teal under a strip of its painted shopfront. */
.bs-pass--race{--pass-ground:linear-gradient(165deg,#22347a 0%,#14215a 48%,#0c1433 100%);box-shadow:inset 0 1px 0 rgba(255,225,150,.75),inset 0 0 0 .5px rgba(255,214,120,.28),var(--lift)}
.bs-pass--race .bs-figure{color:var(--gold-light)}
.bs-pass--bean{--pass-ground:#0b0b0b;--pass-2:rgba(255,255,255,.66);--pass-rule:rgba(255,255,255,.14)}
.bs-primary--logo img{display:block;width:min(56%,200px);height:auto;margin:6px 0 4px}
.bs-pass--studio .bs-pass__tag{color:#fff}
.bs-pass--studio{--pass-ground:linear-gradient(170deg,#2a6e7a 0%,#1f5a66 55%,#15434c 100%);--pass-2:rgba(255,255,255,.88);--pass-rule:rgba(255,255,255,.22)}
/* A Wallet strip image: the studio's painted shopfront and its coloured arched window, edge to edge. */
.bs-strip{position:relative;margin:0 0 14px}
.bs-strip img{display:block;width:100%;height:auto;aspect-ratio:780/377;object-fit:cover}
.bs-strip figcaption{position:absolute;right:10px;bottom:8px;padding:3px 8px;border-radius:999px;font-size:12px;line-height:1.2;color:#fff;background:rgba(8,20,24,.62);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.bs-pass--studio .bs-pass__strip img{border-radius:8px;background:#fff}
.bs-art{float:right;width:38%;max-width:170px;margin:0 0 10px 14px}
.bs-art img{display:block;width:100%;height:auto;border-radius:14px;box-shadow:0 0 0 .5px rgba(255,255,255,.18),0 10px 24px rgba(0,0,0,.35)}
.bs-art figcaption{margin-top:6px;font-size:12px;line-height:1.2;color:var(--pass-2);text-align:right}
.bs-pass .bs-enquire,.bs-pass .bs-fields,.bs-pass .bs-actions,.bs-pass .bs-more,.bs-pass .bs-board{clear:both}

.bs-enquire{margin-top:4px;padding:16px;border-radius:16px;background:rgba(255,255,255,.08);box-shadow:inset 0 .5px 0 rgba(255,255,255,.16)}
.bs-enquire p{margin-bottom:12px;font-size:18px;line-height:1.38;color:var(--pass-2);text-wrap:pretty}
.bs-enquire strong{font-weight:400;color:var(--pass-ink)}

/* Key terms: always visible with the promotion. */
.bs-keyterms{max-width:var(--max);margin:28px auto 0;padding:0 var(--gutter)}
.bs-keyterms>*{max-width:none}
.bs-keyterms h3{font:600 30px/1 var(--display);letter-spacing:.01em;text-transform:uppercase}
.bs-keyterms__lead{margin-top:8px;font-size:18px;color:var(--label-2)}
.bs-keyterms__lead strong{font-weight:400;color:#fff}
.bs-keyterms dl{margin-top:14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:0 28px;border-top:.5px solid var(--separator)}
.bs-keyterms dl div{padding:12px 0;border-bottom:.5px solid var(--separator)}
.bs-keyterms dt{font:400 13px/1.2 var(--text);letter-spacing:.08em;text-transform:uppercase;color:var(--label-3)}
.bs-keyterms dd{margin:4px 0 0;font-size:16px;line-height:1.4;color:var(--label-2);text-wrap:pretty}
.bs-keyterms a{text-decoration:underline;text-underline-offset:.2em;text-decoration-color:rgba(245,196,81,.6)}

@media (min-width:900px){.bs-keyterms dl{grid-template-columns:repeat(3,minmax(0,1fr))}.bs-keyterms dl div:last-child{grid-column:1/-1}}

/* In brief: plain facts people and answer engines can quote. */
.bs-brief{max-width:var(--max);margin:clamp(20px,3vw,32px) auto 0;padding:0 var(--gutter) 0 calc(var(--gutter) + 20px);list-style:disc;display:grid;gap:8px;font-size:18px;line-height:1.45;color:var(--label-2)}
.bs-brief li::marker{color:var(--gold)}
.bs-brief a{color:#fff;text-decoration:underline;text-underline-offset:.2em;text-decoration-color:rgba(245,196,81,.6)}

/* Questions, terms, credits. */
.bs-info{padding:clamp(56px,8vw,120px) 0 calc(clamp(56px,8vw,96px) + 72px)}
.bs-faq,.bs-terms-block{max-width:var(--max);margin:clamp(24px,3vw,40px) auto 0;padding:0 var(--gutter);display:grid;gap:0}
.bs-faq details,.bs-terms-block details{border-bottom:.5px solid var(--separator)}
.bs-faq details:first-child{border-top:.5px solid var(--separator)}
.bs-info summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:14px 2px;cursor:pointer;list-style:none;font:400 clamp(20px,1.8vw,24px)/1.25 var(--text)}
.bs-info summary::-webkit-details-marker{display:none}
.bs-info summary::after{content:"";flex:none;width:12px;height:12px;border-right:2px solid var(--label-2);border-bottom:2px solid var(--label-2);transform:translateY(-3px) rotate(45deg);transition:transform .4s var(--spring)}
.bs-info details[open] summary::after{transform:translateY(2px) rotate(-135deg)}
.bs-info details p,.bs-legal{padding:0 2px 20px;max-width:46em;font-size:18px;line-height:1.5;color:var(--label-2);text-wrap:pretty}
.bs-terms-block{margin-top:clamp(48px,6vw,80px)}
.bs-terms-block h2{margin-bottom:12px;font:600 clamp(34px,3.4vw,46px)/1 var(--display);text-transform:uppercase}
.bs-credits{max-width:var(--max);margin:clamp(40px,5vw,64px) auto 0;padding:0 var(--gutter);font-size:15px;color:var(--label-3)}

/* Phones: a tab bar, full-bleed stage and a stacked Wallet. */
.bs-tabs{display:none}
@media (max-width:899px){
  .tas-bs{--top-h:54px}
  .bs-top__studio span{display:none}
  .bs-top__nav{display:none}
  .bs-top__bean img{height:26px}
  .bs-stage{padding:0}
  .tas-rush-frame iframe{height:calc(100svh - var(--top-h) - 20px);min-height:0;border-radius:0;box-shadow:none}
  .bs-stack{grid-template-columns:minmax(0,1fr);gap:0}
  .bs-brief{font-size:17px}
  .bs-pass{border-radius:20px}
  .bs-pass+.bs-pass{margin-top:-20px}
  .bs-pass:not(.is-active) :is(.bs-pass__body,.bs-strip){display:none}
  .bs-pass:not(.is-active) .bs-pass__strip{padding-bottom:34px}
  .bs-pass:not(.is-active):last-child .bs-pass__strip{padding-bottom:16px}
  .bs-pass:not(.is-active) .bs-pass__pick{display:block;position:absolute;inset:0;z-index:2;width:100%;border-radius:inherit;cursor:pointer}
  .bs-howto dl{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bs-top__share{margin-left:auto}
  .bs-menu{inset:calc(var(--top-h) + env(safe-area-inset-top) + 6px) max(8px,env(safe-area-inset-right)) auto max(8px,env(safe-area-inset-left));width:auto;padding:20px 20px 18px;border-radius:26px}
  .bs-menu__nav{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:18px 14px}
  .bs-menu__nav a{font-size:20px}
  .bs-pass.is-active+.bs-pass{margin-top:12px}
  .bs-pass__title{font-size:24px}
  .bs-tabs{position:fixed;z-index:95;right:max(14px,env(safe-area-inset-right));bottom:var(--safe-b);display:flex;gap:2px;padding:5px;border-radius:999px;
    background:var(--glass-strong);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--glass-rim),var(--glass-edge),var(--lift);transition:transform .5s var(--ease),opacity .3s}
  .bs-tabs a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:68px;height:52px;border-radius:999px;text-decoration:none;color:var(--label-2);transition:color .2s,background-color .3s}
  /* Tab glyphs: drawn for this page on a 24 grid. Outline at rest; the current tab switches to its filled form,
     as iOS does. Play is the takeaway cup, Race a stopwatch, Story the studio's arched window, which lights up in
     the studio's own pane colours when it is the current tab. */
  .bs-tabs svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
  .bs-tabs svg .p{fill:currentColor;stroke-width:1.2}
  .bs-tabs svg .f{display:none;fill:currentColor;stroke:none}
  .bs-tabs a[aria-current] svg .o{display:none}
  .bs-tabs a[aria-current] svg .f{display:inline}
  .bs-tabs svg .k{fill:#23263a}
  .bs-tabs svg .k.s{fill:none;stroke:#23263a;stroke-width:2}
  .bs-tabs svg .r{fill:none;stroke:currentColor;stroke-width:1.6}
  .bs-tabs svg .w1{fill:#f2c14e}.bs-tabs svg .w2{fill:#d9534f}.bs-tabs svg .w3{fill:#4fa3a5}.bs-tabs svg .w4{fill:#8aa05a}
  .bs-tabs a{transition:color .2s,background-color .3s}
  .bs-tabs a:active svg{transform:scale(.88);transition:transform .15s}
  .bs-tabs span{font:400 12px/1 var(--text);letter-spacing:.02em}
  .bs-tabs a[aria-current]{color:var(--gold);background:rgba(255,255,255,.1)}
  .tas-bs[data-playing] .bs-tabs,.tas-bs[data-hero] .bs-tabs,.tas-bs[data-over-game] .bs-tabs,.tas-bs[data-past-end] .bs-tabs{transform:translateY(140%);opacity:0;pointer-events:none}
}
/* Phones on their side: the resting stage fits the screen under the header, edge to edge. */
/* Phones on their side: the stage is the whole screen, edge to edge, and the header steps aside while it is. */
@media (max-height:500px) and (pointer:coarse){
  .tas-bs{--top-h:48px}
  .bs-stage{padding:0}
  .tas-rush-frame iframe{height:100svh;min-height:0;border-radius:0;box-shadow:none}
  .tas-bs[data-over-game] .bs-top{transform:translateY(-110%);opacity:0}
}
@media (max-width:420px){.bs-head h2{font-size:clamp(48px,14vw,64px)}}
@media (prefers-reduced-motion:reduce){.tas-bs *{transition-duration:.01ms!important;animation:none!important}}
@media (prefers-contrast:more){.tas-bs{--label-2:#fff;--label-3:rgba(255,255,255,.8)}.bs-pass{--pass-2:#fff}}
@media (prefers-reduced-transparency:reduce){.bs-top,.bs-tabs,.bs-menu{background:#141727;-webkit-backdrop-filter:none;backdrop-filter:none}}

/* A pass reached from the header or tab bar glows once, so a click that lands on the same row still shows where it went. */
.bs-pass.is-flash{outline:2px solid rgba(245,196,81,.9);outline-offset:4px;transition:outline-color .2s}
@media (prefers-reduced-motion:no-preference){.bs-pass.is-flash{animation:bs-pass-flash 1.6s ease-out forwards}}
@keyframes bs-pass-flash{0%,55%{outline-color:rgba(245,196,81,.95);box-shadow:0 0 0 8px rgba(245,196,81,.16)}100%{outline-color:rgba(245,196,81,0);box-shadow:0 0 0 0 rgba(245,196,81,0)}}
