@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=Barlow:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--lime:#d5ff45;--ink:#0b1717}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:#fff;font-family:Barlow,Arial,sans-serif;overflow:hidden}button{font:inherit;cursor:pointer}button:focus-visible{outline:3px solid white;outline-offset:5px}[hidden]{display:none!important}#pitch{position:fixed;width:100%;height:100%;inset:0}header{position:absolute;top:0;left:0;right:0;height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;background:linear-gradient(#071313e8,transparent);z-index:3}.brand{font-family:'Barlow Condensed',Impact,sans-serif;font-size:29px;letter-spacing:-1px}.brand b{border-left:1px solid #8b9b95;margin-left:13px;padding-left:13px;color:var(--lime)}.match{text-align:center;font-size:15px;font-weight:700;letter-spacing:2px}.match span{display:block;color:#b5c4bd;font-size:12px;margin-top:6px}#pause{background:#ffffff15;border:1px solid #ffffff40;border-radius:50%;width:44px;height:44px;color:#fff;font-weight:bold}#menu{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:110px 8% 32px;background:linear-gradient(90deg,#071313ea 0%,#07131375 48%,#071313dd 100%);gap:40px}.eyebrow{font-size:13px;font-weight:700;letter-spacing:2.3px;color:var(--lime)}.intro h1{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(100px,13vw,190px);line-height:.78;margin:30px 0;font-weight:900;letter-spacing:-4px}.intro em{font-style:normal;color:var(--lime)}.intro p{font-size:22px;line-height:1.5}.rule{font-size:14px;color:#b4c5bd;line-height:1.8;margin-top:25px}kbd{display:inline-block;background:#ffffff13;border:1px solid #ffffff40;border-bottom:3px solid #ffffff40;border-radius:4px;padding:4px 7px;font:600 12px Barlow,Arial;color:white}.selection{width:355px;flex-shrink:0}.selection>.eyebrow{display:flex;justify-content:space-between;color:#dbe4df;font-size:12px}.eyebrow span{color:#91a399}.portrait{height:235px;margin-top:16px;background:linear-gradient(145deg,#577163,#152825);position:relative;overflow:hidden;border-top:2px solid var(--lime)}.portrait img{height:120%;width:100%;object-fit:cover;object-position:top;mix-blend-mode:normal}.number{position:absolute;right:10px;bottom:-16px;font:900 100px 'Barlow Condensed',Impact;opacity:.22}.selected{position:absolute;bottom:12px;left:12px;color:var(--lime);background:#0b1717d9;padding:6px 10px;font-size:12px;letter-spacing:1px}.player-title{display:flex;justify-content:space-between;align-items:center;margin:18px 0}.player-title small{font-size:11px;letter-spacing:1px;color:#a8b9af}h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:40px;margin:3px 0}.role{font-size:12px;line-height:1.5;text-align:right;color:var(--lime)}.stats label{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:14px;margin:11px 0}.stats meter{margin-left:auto;width:48%;height:7px}meter::-webkit-meter-bar{background:#ffffff20;border:0}meter::-webkit-meter-optimum-value{background:var(--lime)}meter::-moz-meter-bar{background:var(--lime)}.primary{background:var(--lime);color:#102018;width:100%;border:0;padding:17px 22px;font-weight:800;font-size:16px;letter-spacing:1px;margin-top:20px;display:flex;justify-content:center;gap:25px}.primary:hover{background:#e3ff85}.footnote{font-size:12px;color:#99afa3;text-align:center}.score{position:absolute;top:112px;left:4%;display:flex;align-items:center;gap:14px}.score strong{font:800 70px 'Barlow Condensed',Impact;color:var(--lime)}.score span{font-size:13px;line-height:1.7;letter-spacing:1px}.distance{position:absolute;top:120px;right:4%;text-align:right;font-size:14px}.distance b{font:700 38px 'Barlow Condensed',Impact}.distance div{width:180px;height:4px;background:#ffffff40;margin-top:8px}.distance i{display:block;height:100%;background:var(--lime);width:0}.abilities{position:absolute;bottom:62px;left:50%;transform:translateX(-50%);display:flex;gap:10px}.abilities>div{width:135px;background:#091815de;border:1px solid #ffffff25;padding:12px;display:grid;gap:7px}.abilities kbd{justify-self:start}.abilities b{font-size:13px;letter-spacing:1px}.abilities span{font-size:12px;color:var(--lime)}.move{position:absolute;bottom:20px;text-align:center;width:100%;font-size:12px;letter-spacing:1px}.move span{margin-left:25px;color:#bdcbc2}#message{position:absolute;top:29%;text-align:center;width:100%;font:800 32px 'Barlow Condensed',Impact;color:var(--lime);text-shadow:0 2px 12px black}#overlay{position:absolute;inset:0;background:#071313c9;display:grid;place-items:center;z-index:4;backdrop-filter:blur(6px)}#overlay>div{width:380px;text-align:center;padding:25px}#overlay h2{font-size:70px;margin:16px 0}#overlay p{line-height:1.6;color:#c4d0c9}.secondary{background:none;color:white;border:0;margin-top:22px;font-size:13px;letter-spacing:1px}#unsupported{position:absolute;inset:40% 10%;background:#132722;padding:25px;z-index:9}@media(max-height:760px){.portrait{height:175px}.intro h1{font-size:130px}.stats label{margin:8px 0}.selection .primary{margin-top:12px}#menu{padding-top:100px}}@media(max-width:760px){#menu{padding:90px 5% 20px;gap:20px}.intro{display:none}.selection{margin:auto;width:min(355px,100%)}header{height:76px}.brand{font-size:23px}.match{font-size:11px;letter-spacing:1px}.abilities{gap:4px;width:95%}.abilities>div{width:25%;padding:8px}.score{top:85px}.distance{top:95px}.move span{display:none}}

.runner-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:14px}.runner-picker button{color:#c9d8cf;background:#152a24;border:1px solid #52645a;padding:10px 2px;font-size:12px;min-height:40px}.runner-picker button[aria-pressed=true]{background:var(--lime);color:#13211a;border-color:var(--lime);font-weight:700}.selection{width:395px}.selection .portrait{height:190px}.player-title h2{font-size:34px}.role{max-width:90px}.selection .player-title{margin:12px 0}#player-description{font-size:14px;line-height:1.5;margin:10px 0;color:#d0ddd5;min-height:42px}#burst-info{font-size:13px;color:var(--lime);margin-top:12px}#runner-hud{position:absolute;left:4%;top:92px;font-size:14px;color:var(--lime)}.match b{font-weight:700}.stats label>span{width:22px;text-align:right}#menu{overflow-y:auto}.selection .primary{margin-top:14px}@media(max-height:800px){#menu{align-items:flex-start}.selection .portrait{height:135px}.selection .stats label{margin:6px 0}.intro{padding-top:45px}}@media(max-width:760px){.selection{width:min(395px,100%)}.match{max-width:48%}#runner-hud{top:78px}.score{top:102px}}

#touch-controls{position:fixed;inset:0;pointer-events:none;z-index:3;user-select:none;-webkit-user-select:none}#thumbstick{position:absolute;left:max(22px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));width:138px;height:138px;border-radius:50%;background:#081b18aa;border:2px solid #d5ff4570;pointer-events:auto;touch-action:none;display:grid;place-items:center}#thumbstick>span{position:absolute;color:#d5ff45b0;font-size:18px}#thumbstick .north{top:7px}#thumbstick .south{bottom:7px}#thumbstick .west{left:9px}#thumbstick .east{right:9px}#stick-knob{width:53px;height:53px;border-radius:50%;background:#d5ff45c9;border:2px solid #f0ffd2;box-shadow:0 3px 12px #0006;pointer-events:none}.touch-skills{position:absolute;right:max(20px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(2,90px);gap:9px}.touch-skills button{border-radius:22px;min-height:62px;border:1px solid #d5ff4588;background:#102820ed;color:white;touch-action:none;pointer-events:auto;display:grid;place-content:center;gap:5px}.touch-skills button b{font-size:14px}.touch-skills button span{font-size:12px;color:var(--lime)}.touch-skills button:active{background:#506d27}.touch-skills button:disabled{opacity:.55}.touch-skills #touch-ground{border-color:white}#rotate-screen{position:fixed;inset:0;z-index:30;background:#0b1717;display:grid;place-items:center;text-align:center;padding:24px}#rotate-screen>div{max-width:350px}.rotate-symbol{font-size:80px;color:var(--lime)}#rotate-screen p{line-height:1.6;color:#c6d8cf}body{overscroll-behavior:none}button{touch-action:manipulation}
@media(any-pointer:coarse){.abilities,.move{display:none}#pitch{touch-action:none}header{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}.rule{display:none}}
@media(any-pointer:coarse) and (orientation:landscape) and (max-height:600px){header{height:52px}.brand{font-size:23px}.match{font-size:12px;max-width:48%}.match span{margin-top:2px}#pause{height:38px;width:38px}#runner-hud{top:56px;left:max(22px,env(safe-area-inset-left));font-size:12px}.score{top:74px;left:max(22px,env(safe-area-inset-left));gap:8px}.score strong{font-size:42px}.score span{font-size:10px}.distance{top:55px;right:max(22px,env(safe-area-inset-right));font-size:12px}.distance b{font-size:28px}.distance div{width:130px}#message{top:24%;font-size:25px}#menu{padding:62px max(24px,env(safe-area-inset-right)) 15px;display:block}.intro{display:none}.selection{width:100%;max-width:820px;margin:auto;display:grid;grid-template-columns:35% 1fr;gap:5px 20px}.selection>.eyebrow{grid-column:1/-1}.runner-picker{grid-column:1/-1;margin:3px 0}.selection .portrait{grid-column:1;grid-row:3/8;height:190px;margin:5px 0}.selection .player-title{grid-column:2;margin:0}.selection h2{font-size:27px}.selection .role{display:none}#player-description{grid-column:2;font-size:13px;min-height:0;margin:0}.stats{display:none}#burst-info{grid-column:2;margin:4px 0;font-size:12px}.selection #start{grid-column:2;margin:0;padding:12px;min-height:44px}.selection .footnote{grid-column:2;margin:0}.runner-picker button{min-height:38px;padding:6px;font-size:13px}#overlay>div{padding:10px;width:350px}#overlay h2{font-size:48px;margin:8px 0}#overlay .primary{margin-top:8px;padding:12px}#overlay .secondary{margin-top:12px}}

.scene-options{display:grid;grid-template-columns:1.6fr 1fr;gap:10px;margin-top:12px}.scene-options label{font-size:13px;color:#c0d1c6;display:grid;gap:5px}.scene-options select{border:1px solid #52645a;border-radius:4px;background:#10221c;color:#fff;min-height:38px;width:100%;font:14px Barlow,Arial,sans-serif;padding:5px 8px}#weather-label{position:absolute;top:94px;left:50%;transform:translateX(-50%);font-size:13px;letter-spacing:.8px;color:#e7eddd;text-shadow:0 2px 5px #000}#menu{align-items:flex-start}.selection .portrait{height:160px}.intro{margin-top:42px}@media(any-pointer:coarse) and (orientation:landscape) and (max-height:600px){.scene-options{grid-column:2;margin-top:0;gap:8px}.scene-options label{font-size:12px}.scene-options select{min-height:34px;font-size:13px}.selection .portrait{height:210px;grid-row:3/10}.selection #start{grid-row:auto}.selection .footnote{display:none}#weather-label{top:79px;font-size:12px}}

.touch-skills button{min-height:76px;padding:8px 4px;gap:3px}.touch-skills button kbd{justify-self:center;font-size:12px;line-height:14px;padding:1px 6px;border-bottom-width:2px;color:#fff}

.controls-title{color:#d5ff45;font-size:11px;font-weight:700;letter-spacing:1.8px;margin-bottom:8px}.menu-controls{display:grid;grid-template-columns:1.15fr 1fr;gap:7px 18px;max-width:430px;margin-bottom:11px}.menu-controls>div{display:flex;align-items:center;gap:8px;min-height:29px}.menu-controls .keys{display:flex;align-items:center;gap:3px;min-width:82px}.menu-controls kbd{padding:2px 5px;font-size:10px;line-height:15px;text-align:center}.menu-controls b{color:#f4f8f5;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.rule small{color:#aebeb6;font-size:13px}

.ability-meter{height:5px;width:100%;overflow:hidden;background:#ffffff1f;border:1px solid #ffffff1c;border-radius:5px}.ability-meter i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#8fcf24,#d5ff45);box-shadow:0 0 8px #d5ff4575;transform:scaleX(1);transform-origin:left center;transition:transform .08s linear}.touch-skills .ability-meter{width:68px;justify-self:center;height:4px}

.continue-hint{display:flex;align-items:center;justify-content:center;gap:7px!important;margin:11px 0 0!important;color:#b8c8c0!important;font-size:11px!important;letter-spacing:1px}.continue-hint kbd{padding:2px 6px;font-size:10px}.continue-hint span{opacity:.7}

/* Keep every runner card consistent, including portraits supplied with transparency. */
.portrait{isolation:isolate;background:#fff}
.portrait img{position:relative;z-index:1}
.portrait .number{z-index:2;right:16px;bottom:-10px;color:#17352d;opacity:.34;font-size:104px;line-height:1}
.portrait .selected{z-index:3}

#celebration-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
#overlay>div{position:relative;z-index:1}
#victory-banner{margin:0 auto 15px;padding:13px 34px 12px;background:linear-gradient(105deg,#d5ff45,#f3ffbf 48%,#d5ff45);color:#0b1717;border:3px solid #fff;box-shadow:0 0 0 6px #d5ff4530,0 16px 50px #0009;transform:skew(-5deg);animation:victory-arrival .58s cubic-bezier(.2,.9,.25,1.2) both}
#victory-banner>*{display:block;transform:skew(5deg)}
#victory-banner span{font-size:13px;font-weight:800;letter-spacing:4px}
#victory-banner strong{font:900 clamp(50px,8vw,88px)/.82 'Barlow Condensed',Impact,sans-serif;letter-spacing:-2px;margin:8px 0 11px}
#victory-banner small{font-size:14px;font-weight:800;letter-spacing:2px}
#overlay[data-state="victory"]{background:radial-gradient(circle at center,#153b2ac9,#050d0de8 70%);backdrop-filter:blur(3px)}
#overlay[data-state="victory"]>div{width:min(680px,calc(100vw - 32px));padding:28px 46px 24px;background:#071713e8;border:1px solid #d5ff4560;box-shadow:0 24px 80px #000b}
#overlay[data-state="victory"] #result-label{color:#fff}
#overlay[data-state="victory"] #result-title{font-size:clamp(62px,10vw,104px);line-height:.82;margin:17px 0 12px;color:var(--lime);text-shadow:0 0 28px #d5ff4555}
#overlay[data-state="victory"] #result-body{font-size:18px;margin:10px auto;max-width:520px;color:#edf6f0}
#overlay[data-state="victory"] .primary{max-width:360px;margin:20px auto 0}
@keyframes victory-arrival{from{opacity:0;transform:translateY(-70px) scale(.72) skew(-5deg)}to{opacity:1;transform:translateY(0) scale(1) skew(-5deg)}}
@media(max-height:600px){#overlay[data-state="victory"]>div{padding:12px 32px}#victory-banner{margin-bottom:8px;padding:7px 24px}#victory-banner strong{font-size:45px;margin:5px 0}#overlay[data-state="victory"] #result-title{font-size:52px;margin:8px 0}#overlay[data-state="victory"] #result-body{font-size:14px;margin:5px auto}#overlay[data-state="victory"] .primary{margin-top:8px;padding:10px}.continue-hint{margin-top:6px!important}}
@media(prefers-reduced-motion:reduce){#victory-banner{animation:none}}

.brand{display:flex;align-items:center;gap:9px;color:#fff;text-decoration:none}.brand-mark{width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 4px 8px #0008)}.brand>span{display:block;line-height:1}.brand small{display:block;margin-top:7px;color:#9db0a7;font:700 8px Barlow,Arial,sans-serif;letter-spacing:1.15px;transition:color .15s}.brand:hover small{color:var(--lime)}
@media(max-width:760px){.brand-mark{width:36px;height:36px}.brand>span{font-size:20px}.brand b{margin-left:7px;padding-left:7px}.brand small{font-size:7px;letter-spacing:.75px;margin-top:5px}}
