:root {
  --ink: #050709;
  --panel: rgba(12, 17, 20, .86);
  --white: #f6f8f3;
  --muted: #89949a;
  --lime: #c7ff32;
  --cyan: #67ecff;
  --orange: #ff8f42;
  --runner-shoe: #ff78b8;
  --line: rgba(255,255,255,.14);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--white);
  background: #000;
  font-synthesis: none;
}

* { box-sizing: border-box; }
html, body { width:100%; height:100%; min-height: 100%; margin: 0; background: #000; overscroll-behavior: none; }
body { overflow: hidden; }
button, input { font: inherit; }
button { color: inherit; }

.kiosk-frame {
  position: relative;
  width: 100vw;
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
  container-type: size;
  background: var(--ink);
  box-shadow: 0 0 80px rgba(0,0,0,.85);
  isolation: isolate;
}

.screen { position: absolute; inset: 0; display: none; overflow: hidden; }
.screen.active { display: grid; }

.home-screen {
  grid-template-rows: auto 1fr;
  background:
    radial-gradient(circle at 74% 23%, rgba(103,236,255,.2), transparent 26%),
    radial-gradient(circle at 18% 64%, rgba(199,255,50,.13), transparent 28%),
    linear-gradient(155deg, #111a1f 0%, #06090c 48%, #030405 100%);
}
.home-screen::before {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent 49.8%, rgba(255,255,255,.035) 50%, transparent 50.2%),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 100% 100%, 100% 4.5%; opacity: .5; pointer-events: none;
}
.ambient-grid { position: absolute; left: -40%; right: -40%; bottom: -12%; height: 52%; transform: perspective(520px) rotateX(67deg); transform-origin: bottom; background-image: linear-gradient(rgba(103,236,255,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(103,236,255,.15) 1px,transparent 1px); background-size: 8% 12%; mask-image: linear-gradient(transparent,#000); }

.brand-bar { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; padding: 4.8% 5.4% 3%; border-bottom: 1px solid var(--line); }
.brand { display: flex; align-items: center; gap: .7em; color: #fff; text-decoration: none; font-size: clamp(10px, 1.8cqw, 22px); letter-spacing: .16em; }
.brand-mark { width: .72em; height: 1.35em; display: inline-block; background: var(--lime); clip-path: polygon(48% 0,100% 0,58% 44%,100% 44%,26% 100%,43% 55%,0 55%); filter: drop-shadow(0 0 8px rgba(199,255,50,.55)); }
.edition { color: var(--muted); font-size: clamp(7px, 1.12cqw, 13px); font-weight: 800; letter-spacing: .18em; }

.home-content { position: relative; z-index: 1; min-height: 0; padding: 2.4cqh 5.4cqw 2.2cqh; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 15cqh 27cqh 31cqh minmax(0,1fr); gap: 1.2cqh 3.4%; }
.campaign-copy { grid-column: 1 / -1; position: relative; z-index: 2; }
.eyebrow { margin: 0; color: var(--lime); font-size: clamp(8px, 1.3cqw, 16px); font-weight: 900; letter-spacing: .22em; }
.campaign-copy h1, .result-content h1 { margin: .2em 0 .12em; font-family: Impact, "Arial Narrow", sans-serif; font-size: clamp(62px, 14.4cqw, 172px); font-style: italic; line-height: .76; letter-spacing: -.035em; }
.campaign-copy h1 em, .result-content h1 em { color: transparent; -webkit-text-stroke: .018em var(--lime); text-shadow: 0 0 30px rgba(199,255,50,.16); }
.campaign-deck { max-width: 28em; margin: 0; color: rgba(255,255,255,.74); font-size: clamp(11px, 1.85cqw, 22px); letter-spacing: .03em; }

.hero-stage { grid-column: 1 / -1; position: relative; min-height: 0; overflow: hidden; border: 1px solid var(--line); border-radius: clamp(18px,3cqw,34px); background: linear-gradient(115deg,rgba(2,5,7,.76),rgba(20,31,37,.48)); box-shadow: inset 0 1px rgba(255,255,255,.06); }
.hero-stage::before { content:""; position:absolute; left:7%; right:7%; bottom:12%; height:2px; background:linear-gradient(90deg,transparent,var(--cyan),var(--lime),transparent); box-shadow:0 0 20px var(--cyan); transform:skewY(-4deg); }
.hero-stage p { position:absolute; right:4%; top:6%; margin:0; writing-mode:vertical-rl; color:rgba(255,255,255,.42); font-size:clamp(7px,1cqw,12px); font-weight:900; letter-spacing:.2em; }
.hero-aura { position:absolute; width:44%; aspect-ratio:1; left:29%; top:3%; border-radius:50%; background:radial-gradient(circle,rgba(103,236,255,.28),rgba(199,255,50,.08) 42%,transparent 70%); filter:blur(10px); }
.hero-runner-image { position:absolute; left:35%; bottom:1%; width:27%; height:96%; background-size:300% 100%; background-position:0 50%; background-repeat:no-repeat; filter:drop-shadow(0 0 20px rgba(103,236,255,.42)); transform:rotate(-3deg); }
.hero-stage[data-runner="feminine"] .hero-runner-image{background-image:url("assets/runner-feminine-cycle.png");filter:drop-shadow(0 0 20px rgba(255,112,180,.55))}
.hero-stage[data-runner="masculine"] .hero-runner-image{background-image:url("assets/runner-masculine-cycle.png");filter:drop-shadow(0 0 20px rgba(177,255,52,.52))}
.speed-line { position:absolute; left:8%; height:2px; background:linear-gradient(90deg,transparent,var(--cyan)); transform-origin:right; }
.line-one{right:57%;top:36%;transform:rotate(-7deg)} .line-two{right:61%;top:52%;transform:rotate(3deg)} .line-three{right:55%;top:66%;transform:rotate(-3deg);background:linear-gradient(90deg,transparent,var(--lime))}

.start-panel, .leaderboard { border: 1px solid var(--line); border-radius: clamp(16px,2.5cqw,28px); background: rgba(7,11,14,.8); box-shadow: inset 0 1px rgba(255,255,255,.05); backdrop-filter: blur(14px); }
.start-panel { grid-column: 1 / -1; padding: 2.3%; display: grid; gap: .75cqh; }
.name-field { display:grid; gap:.42cqh; padding:1.45% 2%; border:1px solid rgba(199,255,50,.45); border-radius:14px; background:rgba(199,255,50,.035); box-shadow:0 0 20px rgba(199,255,50,.08); animation:nameGlow 1.6s ease-in-out infinite; }
.name-field span, .theme-picker legend, .runner-picker legend { color:var(--lime); font-size:clamp(7px,1.05cqw,13px); font-weight:950; letter-spacing:.18em; }
.name-field input { width:100%; border:0; border-bottom:1px solid rgba(255,255,255,.22); outline:0; background:transparent; color:#fff; font-size:clamp(14px,2.5cqw,30px); font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.name-field input::placeholder { color:rgba(255,255,255,.38); }
.name-field:focus-within,.name-field:has(input:not(:placeholder-shown)){animation:none;border-color:var(--cyan)}
.name-field.attention{animation:nameNudge .42s ease 2;border-color:#ff8f6d}
.theme-picker,.runner-picker { margin:0; padding:0; border:0; }
.theme-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.4%; margin-top:.55cqh; }
.theme-card { min-height:6.4cqh; padding:4% 3.5%; display:grid; grid-template-columns:auto 1fr; gap:.2em .7em; align-items:center; text-align:left; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.025); cursor:pointer; transition:.2s ease; }
.theme-card b { font-size:clamp(8px,1.25cqw,15px); letter-spacing:.08em; }
.theme-card small { grid-column:2; color:var(--muted); font-size:clamp(6px,.85cqw,10px); letter-spacing:.08em; }
.theme-card.selected { border-color:var(--lime); background:rgba(199,255,50,.09); transform:translateY(-2px); box-shadow:0 8px 22px rgba(0,0,0,.25); }
.theme-icon { grid-row:1/3; width:clamp(24px,4.3cqw,52px); aspect-ratio:1; display:grid; place-items:center; }
.rock-icon { background:linear-gradient(145deg,#c4d0d3,#3c4c52); clip-path:polygon(14% 68%,29% 19%,72% 4%,96% 58%,71% 93%,24% 87%); }
.gum-icon { border-radius:48% 52% 46% 54%; background:radial-gradient(circle at 34% 28%,#fff 0 5%,#ff8cd1 7% 30%,#8c286b 70%); box-shadow:0 0 14px rgba(255,97,192,.4); }
.dog-icon { width:clamp(32px,5.4cqw,64px); background-image:url("assets/dog-run-cycle.png"); background-size:300% 100%; background-position:0 50%; background-repeat:no-repeat; filter:drop-shadow(0 0 8px rgba(255,154,78,.5)); }
.runner-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4%;margin-top:.5cqh}
.runner-card{min-height:6.2cqh;padding:2.2% 4%;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:.1em .8em;align-items:center;text-align:left;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);cursor:pointer;transition:.2s ease}
.runner-card b{font-size:clamp(9px,1.4cqw,17px);letter-spacing:.09em}.runner-card small{grid-column:2;color:var(--muted);font-size:clamp(6px,.85cqw,10px);letter-spacing:.09em}.runner-card small::before,.game-title #shoe-label::before{content:"";display:inline-block;width:1.75em;height:.7em;margin-right:.48em;border-radius:.48em .85em .28em .4em;background:var(--runner-shoe);vertical-align:-.08em;box-shadow:inset -.24em -.14em 0 rgba(255,255,255,.65),0 0 9px color-mix(in srgb,var(--runner-shoe) 70%,transparent)}.runner-card[data-runner="feminine"] small::before{background:#ff78b8;box-shadow:inset -.24em -.14em 0 #fff1f8,0 0 9px rgba(255,120,184,.45)}.runner-card[data-runner="masculine"] small::before{background:#b6ff34;box-shadow:inset -.24em -.14em 0 #efffc0,0 0 9px rgba(182,255,52,.45)}.runner-card.selected{border-color:var(--cyan);background:rgba(103,236,255,.09);transform:translateY(-1px);box-shadow:0 8px 22px rgba(0,0,0,.25)}.runner-card[data-runner="feminine"].selected{border-color:#ff78b8;background:rgba(255,120,184,.1)}.runner-card[data-runner="masculine"].selected{border-color:#b6ff34;background:rgba(182,255,52,.1)}
.runner-portrait{grid-row:1/3;width:clamp(34px,5.5cqw,66px);height:5.1cqh;background-repeat:no-repeat;background-size:300% 100%;background-position:0 50%;filter:drop-shadow(0 0 8px rgba(103,236,255,.35))}.feminine-portrait{background-image:url("assets/runner-feminine-cycle.png")}.masculine-portrait{background-image:url("assets/runner-masculine-cycle.png")}
.primary-button { width:100%; min-height:5.1cqh; padding:0 5%; display:flex; justify-content:space-between; align-items:center; border:0; border-radius:14px; background:linear-gradient(100deg,var(--lime),#e9ff98); color:#050709; font-weight:950; font-style:italic; letter-spacing:.08em; cursor:pointer; box-shadow:0 0 28px rgba(199,255,50,.18); }
.primary-button b { font-size:1.4em; }
.control-hint { margin:0; text-align:center; color:var(--muted); font-size:clamp(6px,.92cqw,11px); font-weight:800; letter-spacing:.16em; }

.leaderboard { grid-column:1/-1; min-height:0; padding:2.4%; }
.leaderboard-heading { display:flex; justify-content:space-between; align-items:end; padding-bottom:2%; border-bottom:1px solid var(--line); }
.leaderboard-heading span,.leaderboard-heading>b { color:var(--lime); font-size:clamp(6px,.95cqw,11px); letter-spacing:.16em; }
.leaderboard-heading h2 { margin:.2em 0 0; font-size:clamp(17px,2.8cqw,34px); font-style:italic; }
.leaderboard ol { margin:0; padding:0; list-style:none; }
.leaderboard li { display:grid; grid-template-columns:2.2em 1fr auto; align-items:center; padding:1.25% 0; border-bottom:1px solid rgba(255,255,255,.08); font-size:clamp(9px,1.5cqw,18px); font-weight:900; letter-spacing:.06em; }
.leaderboard li span:first-child { color:var(--lime); font-style:italic; }
.leaderboard li b:last-child { color:#fff; font-variant-numeric:tabular-nums; }
.leaderboard li.current-runner{margin-inline:-2%;padding-inline:2%;border-color:rgba(199,255,50,.45);background:linear-gradient(90deg,rgba(199,255,50,.12),transparent);box-shadow:inset 3px 0 var(--lime)}

.game-screen { grid-template-rows:5cqh 6.65cqh minmax(0,1fr) 11.05cqh; background:linear-gradient(#071017,#030405); }
.game-header { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:3%; padding:3.3% 4%; border-bottom:1px solid var(--line); }
.round-button { width:clamp(36px,6.5cqw,72px); aspect-ratio:1; border:1px solid var(--line); border-radius:50%; background:rgba(255,255,255,.035); font-weight:900; cursor:pointer; }
.game-title { display:grid; grid-template-columns:auto auto; justify-content:center; align-items:center; gap:.1em .7em; letter-spacing:.14em; }
.game-title>span { grid-row:1/4; width:.65em; aspect-ratio:1; background:var(--lime); transform:rotate(45deg); box-shadow:0 0 12px var(--lime); }
.game-title b { font-size:clamp(10px,1.8cqw,21px); }
.game-title small { color:var(--muted); font-size:clamp(6px,.9cqw,10px); }
.game-title #shoe-label{color:var(--runner-shoe);font-weight:950;letter-spacing:.11em}
.stats-strip { display:grid; grid-template-columns:repeat(4,1fr); padding:0 4%; border-bottom:1px solid var(--line); background:rgba(255,255,255,.02); }
.stats-strip>div { padding:7% 8%; border-right:1px solid var(--line); }
.stats-strip>div:last-child { border:0; }
.stats-strip span { display:block; color:var(--muted); font-size:clamp(6px,.85cqw,10px); font-weight:900; letter-spacing:.16em; }
.stats-strip b { display:block; margin-top:.22em; font-family:Impact,"Arial Narrow",sans-serif; font-size:clamp(17px,3.2cqw,38px); font-style:italic; letter-spacing:.04em; }
.stats-strip i { font-style:normal; }.lives{color:var(--lime)!important;font-size:clamp(12px,2.2cqw,26px)!important;letter-spacing:.18em!important}
.run-stage { position:relative; min-height:0; overflow:hidden; }
#game-canvas { display:block; width:100%; height:100%; touch-action:none; }
.countdown { position:absolute; inset:0; display:grid; place-items:center; pointer-events:none; white-space:pre-line; text-align:center; font-family:Impact,"Arial Narrow",sans-serif; font-size:clamp(72px,18cqw,210px); font-style:italic; color:#fff; text-shadow:0 0 34px rgba(103,236,255,.4); opacity:0; }
.countdown.show { opacity:1; }
.toast { position:absolute; top:4%; left:50%; transform:translateX(-50%) translateY(-20px); opacity:0; padding:1.5% 4%; border:1px solid rgba(199,255,50,.5); border-radius:999px; background:rgba(4,8,10,.9); color:var(--lime); font-size:clamp(7px,1.1cqw,13px); font-weight:900; letter-spacing:.12em; transition:.2s; }
.toast.show { opacity:1; transform:translateX(-50%) translateY(0); }
.lane-controls { position:absolute; left:4%; right:4%; bottom:2%; display:grid; grid-template-columns:repeat(3,1fr); gap:1.4%; }
.lane-controls button { min-height:5.5cqh; display:grid; place-items:center; gap:.4cqh; border:1px solid rgba(255,255,255,.16); border-radius:12px; background:rgba(4,8,10,.46); backdrop-filter:blur(8px); cursor:pointer; }
.lane-controls button span { width:24%; height:3px; background:rgba(255,255,255,.35); border-radius:2px; }
.lane-controls button small { color:rgba(255,255,255,.55); font-size:clamp(6px,.82cqw,10px); font-weight:900; letter-spacing:.12em; }
.lane-controls button.active { border-color:var(--lime); background:rgba(199,255,50,.12); }
.lane-controls button.active span { background:var(--lime); box-shadow:0 0 10px var(--lime); }
.jump-button{position:absolute;left:33%;right:33%;bottom:calc(100% + .9cqh);min-height:4.4cqh!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:.7em!important;border-color:var(--runner-shoe)!important;background:rgba(4,8,10,.8)!important;box-shadow:0 0 18px color-mix(in srgb,var(--runner-shoe) 28%,transparent)}.jump-button span{width:auto!important;height:auto!important;background:transparent!important;color:var(--runner-shoe);font-size:clamp(18px,3cqw,36px);line-height:.7}.jump-button small{color:#fff!important}

.sponsor-banner { position:relative; display:grid; grid-template-columns:auto 1fr 25% auto; align-items:center; gap:3%; min-height:0; padding:2.3% 4%; border-top:1px solid rgba(255,255,255,.25); background:linear-gradient(105deg,#ffd4e7 0 54%,#ff7fbb 54% 100%); color:#071014; overflow:hidden; transition:background .65s ease,color .65s ease; }
.sponsor-banner::before { content:""; position:absolute; inset:0; background:repeating-linear-gradient(115deg,transparent 0 28px,rgba(4,8,10,.04) 29px 30px); }
.sponsor-banner[data-ad-theme="men"]{background:linear-gradient(105deg,#d9f7ff 0 54%,#67ecff 54% 100%)}
.sponsor-banner[data-ad-theme="recovery"]{background:linear-gradient(105deg,#eef4e7 0 54%,var(--lime) 54% 100%)}
.sponsor-banner[data-ad-theme="women"] .ad-shoe i{background:linear-gradient(150deg,#fff2f9,#d95c9b 48%,#24141d 49%)}
.sponsor-banner[data-ad-theme="men"] .ad-shoe i{background:linear-gradient(150deg,#dff9ff,#247f9b 48%,#101c21 49%)}
.sponsor-banner[data-ad-theme="recovery"] .ad-shoe i{background:linear-gradient(150deg,#f6ffe1,#7fa91b 48%,#17200b 49%)}
.sponsor-banner.ad-changing .ad-copy,.sponsor-banner.ad-changing .ad-shoe,.sponsor-banner.ad-changing .ad-cta{animation:adShift .55s ease both}
.ad-index,.ad-copy,.ad-shoe,.ad-cta{position:relative}.ad-index{writing-mode:vertical-rl;font-size:clamp(6px,.78cqw,9px);font-weight:950;letter-spacing:.12em}.ad-copy span{display:block;font-size:clamp(6px,.8cqw,10px);letter-spacing:.12em}.ad-copy b{display:block;margin-top:.25em;font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(13px,2.25cqw,27px);font-style:italic;line-height:.92}.ad-cta{font-size:clamp(6px,.9cqw,11px);font-weight:950;letter-spacing:.1em}.ad-cta span{font-size:1.5em}.ad-shoe{height:72%;transform:skewX(-12deg)}.ad-shoe i{position:absolute;left:8%;right:5%;top:34%;bottom:12%;border-radius:80% 42% 48% 30%;background:linear-gradient(150deg,#131c21,#52636a 48%,#111 49%);clip-path:polygon(3% 29%,27% 3%,72% 20%,83% 55%,100% 67%,95% 90%,31% 90%,4% 71%)}.ad-shoe b{position:absolute;left:2%;right:0;bottom:5%;height:19%;border-radius:999px 50% 70% 999px;background:#fff;box-shadow:0 4px 0 #172128}

.result-screen { grid-template-rows:5cqh minmax(0,1fr); background:radial-gradient(circle at 50% 32%,rgba(199,255,50,.14),transparent 30%),linear-gradient(155deg,#11191d,#040506 60%); }
.finish-lines { position:absolute; inset:0; background:linear-gradient(115deg,transparent 48%,rgba(103,236,255,.1) 48.2%,transparent 48.5%),linear-gradient(70deg,transparent 60%,rgba(199,255,50,.08) 60.2%,transparent 60.5%); }
.result-content { position:relative; z-index:1; min-height:0; padding:3cqh 6.5cqw 2.2cqh; display:grid; grid-template-rows:auto auto auto auto minmax(0,1fr) auto; align-content:start; gap:1.2cqh; }
.result-content h1 { margin:0; font-size:clamp(74px,14cqw,152px); }
.result-score { margin:0; padding:3.4%; border-left:3px solid var(--lime); background:rgba(255,255,255,.035); }
.result-score span,.result-score small{display:block;color:var(--muted);font-size:clamp(7px,1cqw,12px);font-weight:900;letter-spacing:.18em}.result-score b{display:block;font-family:Impact,"Arial Narrow",sans-serif;font-size:clamp(58px,12cqw,144px);font-style:italic;color:var(--lime);line-height:1}.result-leaderboard{margin-bottom:5%}.text-button{display:block;margin:3% auto 0;border:0;background:transparent;color:var(--muted);font-size:clamp(8px,1.1cqw,13px);font-weight:900;letter-spacing:.14em;cursor:pointer}

.rank-reveal{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;align-items:center;gap:0 5%;margin:0;padding:3.4%;overflow:hidden;border:1px solid rgba(199,255,50,.42);border-radius:18px;background:linear-gradient(110deg,rgba(199,255,50,.13),rgba(103,236,255,.035));box-shadow:0 0 32px rgba(199,255,50,.08)}
.rank-reveal::after{content:"";position:absolute;top:-80%;bottom:-80%;width:18%;left:-25%;transform:rotate(16deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.24),transparent)}
.rank-kicker{grid-column:1/-1;color:var(--lime);font-size:clamp(7px,1cqw,12px);font-weight:950;letter-spacing:.2em}.rank-number{grid-row:2;display:flex;align-items:baseline;font-family:Impact,"Arial Narrow",sans-serif;font-style:italic;color:var(--lime);line-height:.9}.rank-number small{font-size:clamp(22px,4cqw,48px)}.rank-number b{font-size:clamp(70px,15cqw,180px);letter-spacing:-.03em}.rank-identity{grid-row:2;display:grid;gap:.45em}.rank-identity b{font-size:clamp(22px,4cqw,48px);font-style:italic;letter-spacing:.04em}.rank-identity span{color:var(--muted);font-size:clamp(7px,1cqw,12px);font-weight:900;letter-spacing:.16em}
.result-screen.active .result-content>.eyebrow{animation:resultRise .5s .08s both}.result-screen.active .result-content>h1{animation:resultRise .65s .16s both}.result-screen.active .rank-reveal{animation:rankLock .7s .42s cubic-bezier(.2,.85,.25,1.15) both}.result-screen.active .rank-reveal::after{animation:lightSweep .8s 1.05s ease both}.result-screen.active .rank-number b{animation:numberFocus .55s .72s ease both}.result-screen.active .rank-identity{animation:resultRise .5s .82s both}.result-screen.active .result-score{animation:resultRise .55s .98s both}.result-screen.active .result-leaderboard{animation:resultRise .55s 1.12s both}.result-screen.active .primary-button,.result-screen.active .text-button{animation:resultRise .5s 1.25s both}
.result-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2%;position:relative;z-index:5}.result-actions .primary-button{min-height:5.4cqh}.result-actions .text-button{margin:0;padding:1.2em;white-space:nowrap;border:1px solid var(--line);border-radius:999px}.result-leaderboard{min-height:0;overflow:hidden;margin:0}

@keyframes nameGlow { 50% { border-color:var(--lime); box-shadow:0 0 28px rgba(199,255,50,.24); transform:translateY(-1px); } }
@keyframes nameNudge{25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}
@keyframes adShift{0%{opacity:0;transform:translateX(18px)}100%{opacity:1;transform:translateX(0)}}
@keyframes resultRise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes rankLock{0%{opacity:0;transform:translateY(26px) scale(.96);border-color:transparent}70%{transform:translateY(-2px) scale(1.01)}100%{opacity:1;transform:none;border-color:rgba(199,255,50,.42)}}
@keyframes numberFocus{from{opacity:0;filter:blur(8px);transform:scale(1.18)}to{opacity:1;filter:blur(0);transform:scale(1)}}
@keyframes lightSweep{from{left:-25%}to{left:115%}}

@media (max-aspect-ratio: 1/2) {
  .kiosk-frame { width:100vw; height:100vh; }
  .home-content { grid-template-rows:14cqh 25cqh 33cqh minmax(0,1fr); }
}
@media (min-aspect-ratio: 2/3) {
  .kiosk-frame { width:100vw; height:100vh; max-width:none; }
  .home-content { grid-template-columns:1.15fr .85fr; grid-template-rows:auto 38% 1fr; }
  .campaign-copy{grid-column:1}.hero-stage{grid-column:2;grid-row:1/3}.start-panel{grid-column:1;grid-row:2/4}.leaderboard{grid-column:2;grid-row:3}
}
@media (prefers-reduced-motion: reduce) { *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important} }
