@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;--gold:#f5d58b;--white:#f2f1e9;--muted:#9da2b5}*{box-sizing:border-box}body{margin:0;background:#080912;color:var(--white);font-family:Barlow,Arial,sans-serif;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #89e5ff;outline-offset:5px}button:disabled{opacity:.5}button{border:0}a{color:inherit}#app{position:relative;width:100%;height:100svh;min-height:400px;overflow:hidden}canvas{position:absolute;width:100%;height:100%;inset:0;touch-action:none}header{position:absolute;left:4%;right:4%;top:max(25px,env(safe-area-inset-top));z-index:5;display:flex;align-items:center;justify-content:space-between;pointer-events:none}header>*{pointer-events:auto}.wordmark{text-decoration:none;font-weight:900;font-size:30px;font-style:italic;letter-spacing:-3px}.wordmark span{display:inline-block;font-size:9px;letter-spacing:2px;font-style:normal;border-left:1px solid #ffffff36;padding-left:17px;margin-left:20px;vertical-align:middle}.top-actions{display:flex;gap:10px;align-items:center}.top-actions button{background:#ffffff08;border:1px solid #ffffff28;border-radius:50px;height:38px;min-width:38px;font-size:18px}#sound{padding:0 16px;font-size:10px;font-weight:700;letter-spacing:1.7px}.screen{position:absolute;inset:0;z-index:3}.intro-copy{position:absolute;left:8%;top:20%;z-index:2}.eyebrow{font-size:10px;font-weight:700;letter-spacing:3px;color:var(--gold);margin-bottom:24px}.eyebrow>span{display:inline-block;width:6px;height:6px;background:var(--gold);border-radius:50%;margin-right:8px;box-shadow:0 0 12px #e9bb66}h1,h2{font-family:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;font-weight:800;letter-spacing:-1.5px;line-height:.86;margin:0}h1{font-size:clamp(65px,8vw,128px)}h1 em{font-style:normal;color:var(--gold)}.tagline{font-size:19px;letter-spacing:.1px;margin:26px 0 13px}.description{font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:25px}.primary{background:var(--gold);color:#17140e;min-width:235px;border-radius:3px;padding:19px 22px;display:inline-flex;justify-content:space-between;align-items:center;gap:30px;font-size:12px;font-weight:800;letter-spacing:1.7px;text-decoration:none;transition:background .2s,transform .2s}.primary:hover{background:#fff0c8;transform:translateY(-2px)}.primary span{font-size:22px;line-height:12px}.instructions{display:flex;gap:22px;align-items:center;margin-top:22px;font-size:10px;letter-spacing:1px}.instructions small{font-size:8px;color:var(--muted);margin-left:7px}.touch-note{font-size:7px;color:#74798a}.hero{position:absolute;right:0;width:60%;top:10%;bottom:8%;display:flex;align-items:center;justify-content:center;pointer-events:none}.hero img{position:relative;width:min(95%,720px);filter:drop-shadow(0 18px 38px #000) drop-shadow(5px 0 3px #4494b533);animation:float 4s ease-in-out infinite}.hero-ring{position:absolute;width:65%;aspect-ratio:1;border:1px solid #a8d8ff40;border-radius:50%;box-shadow:0 0 80px #578fc512,inset 0 0 60px #ffbc8411}.hero-label{position:absolute;bottom:0;right:20%;font-size:12px;font-weight:700;letter-spacing:5px}.hero-label span{display:block;letter-spacing:2px;font-size:7px;color:var(--muted);margin-top:7px}footer{position:absolute;bottom:25px;left:4%;right:4%;display:flex;justify-content:space-between;font-size:8px;letter-spacing:2px;color:#9b9bac}#hud{position:absolute;z-index:2;top:104px;left:4%;right:4%;display:flex;justify-content:space-between;pointer-events:none}#hud small{display:block;font-size:9px;letter-spacing:2px;color:var(--muted);margin-bottom:8px}.health span{font-size:19px;color:var(--gold);letter-spacing:4px}.mission{width:27%;text-align:center}.track{height:3px;background:#ffffff26;border-radius:3px;overflow:hidden}.track i{height:100%;display:block;background:var(--gold);width:0}.mission>span{font-size:10px;color:#ccc;display:block;margin-top:9px}.score{text-align:right}.score b{font:700 32px 'Barlow Condensed',Impact,sans-serif;color:var(--gold);display:block}.score>span{font-size:8px;letter-spacing:1px;color:var(--muted)}#controls{position:absolute;bottom:max(35px,env(safe-area-inset-bottom));left:5%;right:5%;display:flex;justify-content:space-between;align-items:flex-end;z-index:4;pointer-events:none}#controls button{touch-action:none;user-select:none;-webkit-user-select:none;pointer-events:auto;width:68px;height:68px;background:#111828bb;border:1px solid #ffffff3a;border-radius:50%;font-size:24px;box-shadow:inset 0 0 20px #ffffff06}.move-controls{display:flex;gap:14px}#controls button:active,#controls button.held{background:#f5d58b44;border-color:var(--gold);transform:scale(.95)}#controls #smash{width:93px;height:93px;border:1px solid #f5d58b99;background:#a06a242a;color:var(--gold);font-size:12px;font-weight:800;letter-spacing:1px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}#smash span{font-size:28px}.now-playing{position:absolute;left:50%;transform:translateX(-50%);bottom:25px;font-size:9px;color:var(--muted);letter-spacing:1px;display:flex;align-items:center;gap:9px;z-index:2;pointer-events:none;white-space:nowrap}.now-playing b{color:#ddd;font-weight:500;letter-spacing:0;margin-left:9px}.now-playing i{width:4px;height:15px;background:var(--gold);animation:equalize .6s infinite alternate;box-shadow:6px 0 #f5d58b66,-6px 0 #f5d58b66}#toast{position:absolute;top:25%;left:50%;transform:translateX(-50%);color:var(--gold);font:700 22px 'Barlow Condensed',Impact,sans-serif;letter-spacing:3px;text-align:center;pointer-events:none;z-index:3;opacity:0;transition:opacity .3s;white-space:pre-line}#combo{position:absolute;top:38%;right:8%;font:800 34px 'Barlow Condensed',Impact,sans-serif;color:var(--gold);pointer-events:none;z-index:2}.dialog{background:#050710ad;backdrop-filter:blur(10px);display:grid;place-items:center}.dialog-card{text-align:center;max-width:520px;width:92%;padding:35px 25px}.dialog h2{font-size:clamp(60px,9vw,100px);color:var(--gold)}.dialog p{color:#b3b6c3;line-height:1.6;font-size:14px;margin:22px 0}.dialog .primary{margin:6px auto;display:flex;width:100%;max-width:330px}.secondary{display:block;background:none;border:1px solid #ffffff40;margin:12px auto;padding:15px;width:100%;max-width:330px;border-radius:3px;letter-spacing:2px;font-size:10px}.artist-link{display:block;font-size:11px;color:#aeb4c4;margin-top:25px;text-underline-offset:5px}#results{font-size:12px;color:var(--gold);letter-spacing:2px;margin-bottom:18px}[hidden]{display:none!important}@keyframes float{50%{transform:translateY(-12px)}}@keyframes equalize{to{transform:scaleY(.4)}}
@media(max-width:700px){header{top:max(18px,env(safe-area-inset-top));left:5%;right:5%}.wordmark{font-size:26px}.wordmark span{display:none}#full{display:none}.intro-copy{left:7%;top:17%;right:7%}.eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:16px}h1{font-size:clamp(57px,12vw,82px);position:relative;z-index:2;max-width:70%}.hero{width:70%;height:45%;right:-13%;top:30%;bottom:auto;opacity:.9}.hero-label{display:none}.hero img{width:110%}.hero-ring{width:90%}.tagline{font-size:14px;margin-top:20px}.description{font-size:11px;max-width:62%;margin-bottom:22px}.primary{min-width:210px;padding:17px 20px;font-size:10px}.instructions{font-size:9px;gap:12px;margin-top:17px}.touch-note{display:none}footer{font-size:6px;letter-spacing:1px;bottom:20px}footer span:last-child{display:none}#hud{top:82px;left:5%;right:5%}#hud small{font-size:7px;letter-spacing:1px}.health span{font-size:15px;letter-spacing:1px}.mission{width:36%}.mission>span{font-size:8px}.score b{font-size:27px}.score>span{font-size:6px}.now-playing{bottom:18px;font-size:7px}#controls{bottom:50px}#controls button{width:62px;height:62px}#controls #smash{width:84px;height:84px}#toast{font-size:19px;width:90%}#combo{top:29%;right:7%;font-size:25px}}
@media(max-height:550px) and (min-width:701px){.intro-copy{top:18%}h1{font-size:62px}.eyebrow{margin-bottom:12px}.tagline{margin:15px 0 6px}.description{margin:7px 0 13px}.instructions{margin-top:12px}.hero{top:6%;bottom:7%;width:53%}.hero img{width:80%;max-height:100%;object-fit:contain}footer{bottom:12px}#hud{top:76px}#controls{bottom:20px}.now-playing{bottom:12px}}

.action-controls{display:flex;align-items:flex-end;gap:18px;pointer-events:none}#controls #jump{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:75px;height:75px;color:#a5e7ff;border-color:#79cfff88;background:#1d354c77;font-size:11px;letter-spacing:1px;font-weight:800}#jump span{font-size:25px} @media(max-width:700px){.action-controls{gap:10px}#controls #jump{width:65px;height:65px}.move-controls{gap:8px}#controls{left:4%;right:4%}#controls button{width:55px;height:55px}}

.hero #heroCharacter{position:relative;inset:auto;width:min(95%,720px);height:auto;aspect-ratio:1;filter:drop-shadow(0 18px 38px #000);animation:float 4s ease-in-out infinite;touch-action:auto}.dialog.victory{background:linear-gradient(90deg,transparent 30%,#050710bb 75%);backdrop-filter:none;place-items:center end;padding-right:3%}.victory .dialog-card{width:45%;max-width:520px}.victory h2{font-size:clamp(40px,6vw,80px)}@media(max-width:700px){.hero #heroCharacter{width:115%;max-width:none}.dialog.victory{place-items:end center;padding:0;background:linear-gradient(0deg,#050710ee,transparent 65%)}.victory .dialog-card{width:100%;max-width:none;padding:15px 20px 22px}.victory .eyebrow{margin-bottom:7px}.victory h2{font-size:39px}.victory p{font-size:11px;margin:10px 0}.victory .primary{padding:14px 18px}.victory .secondary{padding:10px;margin:7px auto}.victory #results{font-size:9px;margin-bottom:9px}}

#hud #spikeHits{color:#edaa8e;margin-top:8px;font-size:8px;letter-spacing:1px}

.wordmark{display:flex;align-items:center;gap:16px;font-style:normal;letter-spacing:0}.wordmark img{width:88px;height:60px;object-fit:contain;mix-blend-mode:screen}.wordmark span{margin-left:0}.hero-label{display:none}.origin-card{position:absolute;right:7%;bottom:6%;width:420px;display:flex;align-items:center;gap:14px;padding:12px;border:1px solid #f5d58b33;background:#0b1220df;border-radius:6px;z-index:3}.origin-card>img{width:83px;height:83px;object-fit:cover;border-radius:3px;flex-shrink:0}.origin-card small{font-size:7px;letter-spacing:2px;color:var(--gold)}.origin-card h3{font:700 19px 'Barlow Condensed',Impact,sans-serif;margin:4px 0 5px}.origin-card p{font-size:10px;line-height:1.45;color:#b7bdce;margin:0}.hero #heroCharacter{max-height:90%;object-fit:contain}@media(max-width:700px){.wordmark img{width:67px;height:46px}.wordmark{gap:0}.origin-card{left:7%;right:7%;width:auto;bottom:7%;padding:9px;gap:10px}.origin-card>img{width:64px;height:64px}.origin-card small{font-size:6px;letter-spacing:1.4px}.origin-card h3{font-size:16px}.origin-card p{font-size:9px}.hero #heroCharacter{max-height:none}.description{max-width:68%}}@media(max-width:700px) and (max-height:730px){.intro-copy{top:14%}h1{font-size:54px}.tagline{margin-top:14px}.description{margin-bottom:14px}.origin-card{bottom:6%}.origin-card>img{width:55px;height:55px}.origin-card p{font-size:8px}}@media(min-width:701px) and (max-height:650px){.origin-card{bottom:8%;right:5%;width:365px;padding:8px}.origin-card>img{width:62px;height:62px}.origin-card p{font-size:9px}.hero{bottom:22%}}

.wordmark{mix-blend-mode:screen}.wordmark img{width:108px;height:70px;object-fit:cover}@media(max-width:700px){.wordmark img{width:72px;height:48px}}
header{mix-blend-mode:screen}

.power-track{width:110px;height:4px;background:#ffffff24;border-radius:4px;margin-top:8px;overflow:hidden}.power-track i{display:block;width:100%;height:100%;background:var(--gold);transition:width .16s ease}#hud #powerValue{color:var(--gold)}@media(max-width:700px){.power-track{width:86px;height:3px}}

html,body,#app{overscroll-behavior:none}html,body,#app,#app *,#app *::before,#app *::after{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important;-webkit-tap-highlight-color:transparent!important}#app img,#app canvas{-webkit-user-drag:none}::selection{background:transparent;color:inherit}::-moz-selection{background:transparent;color:inherit}

/* The game owns touch gestures, including on HUD overlays and controls. */
html,body,#app,#app *{touch-action:none}
#links{padding:0 14px;font-size:9px;font-weight:700;letter-spacing:1px;color:var(--gold)}
.links-panel{z-index:10;display:grid;place-items:center;background:#050710e8;backdrop-filter:blur(14px);padding:16px}.links-card{position:relative;width:min(440px,100%);padding:30px;border:1px solid #f5d58b44;background:linear-gradient(135deg,#172035,#100d1a);border-radius:10px;box-shadow:0 20px 70px #0008}.links-card h2{font-size:50px;line-height:1;color:var(--gold)}.links-card p{font-size:12px;line-height:1.6;color:#b3b6c3}.links-card .eyebrow{font-size:8px;margin-bottom:16px}.links-card nav{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0 15px}.links-card nav a{display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:13px;border:1px solid #ffffff24;border-radius:4px;text-decoration:none;font-size:12px;background:#ffffff05}.links-card nav a:hover{background:#ffffff12;border-color:var(--gold)}.links-card nav span{color:var(--gold)}.links-card .support-link{grid-column:1/-1;color:var(--gold);border-color:#f5d58b55}.links-card .secondary{margin-bottom:0;max-width:none}.links-card #closeLinks{position:absolute;right:13px;top:10px;background:none;font-size:26px;min-width:36px;min-height:36px;color:#aeb4c4}@media(max-width:700px){#links{padding:0 10px;font-size:8px}.top-actions{gap:6px}#sound{padding:0 10px;font-size:8px}.links-card{padding:25px 20px}.links-card h2{font-size:43px}}@media(max-height:540px){.links-card{width:min(560px,100%);padding:18px 24px}.links-card h2{font-size:34px}.links-card .eyebrow{margin-bottom:8px}.links-card p{margin:8px 0}.links-card nav{margin:12px 0;gap:8px;grid-template-columns:repeat(3,1fr)}.links-card nav .support-link{grid-column:span 2}.links-card .secondary{padding:11px}}

/* Direct links are visible without opening the links panel. */
.social-links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.social-links a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 16px;border:1px solid #ffffff30;border-radius:4px;background:#101526e8;color:#e0e2ec;text-decoration:none;font-size:11px;letter-spacing:.4px}.social-links a span{color:var(--gold)}.social-links a:hover{border-color:var(--gold);background:#252031}.social-links a.support-link{color:var(--gold);border-color:#f5d58b70}.social-footer{bottom:max(18px,env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:10px;z-index:4}.social-footer>span{font-size:8px;letter-spacing:2px}.origin-card{bottom:112px}.dialog .social-links{margin-top:20px}.dialog .social-links a{padding:10px 12px;font-size:10px}.dialog .artist-link{margin-top:14px}.dialog.victory .dialog-card{padding-bottom:20px}
@media(max-width:700px){.social-footer{left:4%;right:4%;bottom:max(12px,env(safe-area-inset-bottom));gap:7px}.social-links{gap:5px;width:100%}.social-footer .social-links{display:grid;grid-template-columns:repeat(5,1fr)}.social-footer .social-links a{padding:9px 3px;gap:0;font-size:9px;letter-spacing:0;min-height:44px}.social-footer .social-links a span{display:none}.social-footer>span{font-size:7px}.origin-card{bottom:100px}.dialog .social-links{gap:5px;margin-top:15px}.dialog .social-links a{font-size:9px;padding:9px 10px}.victory .social-links{margin-top:10px}.victory .social-links a{min-height:40px;padding:8px}}
@media(max-width:700px) and (max-height:760px){.intro-copy{top:13%}.intro-copy .description{font-size:10px;line-height:1.45;margin-bottom:12px}.intro-copy .tagline{margin-top:14px}.intro-copy .instructions{display:none}.origin-card{bottom:95px}.origin-card>img{width:48px;height:48px}.origin-card p{font-size:8px}.origin-card h3{font-size:14px}}
@media(min-width:701px) and (max-height:650px){.origin-card{bottom:105px}.social-footer{bottom:10px;gap:6px}.social-links a{min-height:36px;padding:8px 13px}.dialog-card{padding:20px}.dialog h2{font-size:55px}.dialog p{margin:14px 0}.dialog .social-links{margin-top:12px}}

/* Dialog links must receive taps ahead of gameplay controls on every screen. */
#dialog{z-index:6}.dialog .artist-link{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 8px;position:relative;pointer-events:auto}.dialog.victory .artist-link{display:flex}.dialog-card{max-height:100%;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y}#dialog .dialog-card,#dialog .dialog-card *{touch-action:pan-y}#app:has(#dialog:not([hidden])){touch-action:pan-y}html:has(#dialog:not([hidden])),body:has(#dialog:not([hidden])){touch-action:pan-y}#dialog{touch-action:pan-y}

.soundtrack-title{font-size:9px;letter-spacing:1.4px;color:var(--gold);margin:0 0 16px;line-height:1.5}@media(max-width:700px){.soundtrack-title{font-size:7px;letter-spacing:.7px;max-width:65%;margin-bottom:12px}}

.bandcamp-reward{margin:16px auto;padding:16px;border:1px solid #f5d58b66;border-radius:6px;background:#0a0e1de8;max-width:370px}.bandcamp-reward>small{font-size:8px;letter-spacing:1.5px;color:var(--gold)}.code-row{display:flex;gap:10px;align-items:center;justify-content:center;margin:13px 0}.code-row code{font-size:25px;letter-spacing:2px;color:#fff1c8}.code-row button{padding:11px 10px;border:1px solid #f5d58b55;background:#f5d58b1a;border-radius:4px;color:var(--gold);font-size:9px;font-weight:700;min-height:44px}.dialog .bandcamp-reward p{font-size:11px;line-height:1.5;margin:10px 0}.bandcamp-reward #replaceReward{background:none;color:#c1c5d4;text-decoration:underline;text-underline-offset:3px;font-size:10px;min-height:44px;padding:10px}.dialog .bandcamp-reward .primary{min-width:0;padding:15px;font-size:10px}.victory .bandcamp-reward{padding:12px;margin:10px auto}.victory .code-row{margin:8px 0}@media(max-width:700px){.victory .bandcamp-reward{max-width:350px}.victory .code-row code{font-size:22px}.victory .bandcamp-reward p{font-size:10px;margin:8px 0}}
