@font-face{font-family:Barlow;src:url('assets/body.woff2')}@font-face{font-family:Display;src:url('assets/display.woff2')}*{box-sizing:border-box} :root{color-scheme:dark;--ink:#eff2e9;--muted:#9ba9a8;--orange:#ff8458;--mint:#9adccc;--line:#c8ddd222;--panel:#122025}body{margin:0;background:#0c171c;color:var(--ink);font-family:Barlow,Arial,sans-serif;overflow:hidden;height:100svh;font-size:15px}button,input,select{font:inherit}button{color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{opacity:.4;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--mint);outline-offset:5px}button{border:0}button,a,input{-webkit-tap-highlight-color:transparent}button:active{transform:translateY(1px)}button{transition:background .2s,color .2s,opacity .2s}button:hover{color:white}.hidden{display:none!important}#scene{position:absolute;inset:0;transition:left .6s ease}body.at-menu #scene{left:31%}canvas{display:block;width:100%;height:100%;outline:0}.grain,.vignette{position:fixed;inset:0;pointer-events:none}.grain{z-index:1;opacity:.026;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.6' filter='url(%23n)'/%3E%3C/svg%3E")}.vignette{background:linear-gradient(0deg,#071015aa,transparent 25%,transparent 85%,#09131899);z-index:1}body.at-menu .vignette{background:linear-gradient(90deg,#0c171c 10%,#0c171cf2 29%,#0c171c55 45%,transparent 61%),linear-gradient(0deg,#091318aa,transparent 27%)}.masthead{position:fixed;z-index:6;left:44px;right:44px;top:27px;display:flex;align-items:center;justify-content:space-between;height:36px}.wordmark{display:flex;gap:12px;align-items:center;font-size:15px;letter-spacing:2.5px;font-weight:bold;background:none;padding:0}.wordmark svg{width:21px;height:26px;color:var(--orange)}.wordmark b{color:var(--orange);margin-left:5px}.header-right{display:flex;gap:9px;align-items:center}.edition{font-size:10px;letter-spacing:3px;color:var(--muted);margin-right:22px}.icon-button{width:36px;height:36px;border:1px solid var(--line);background:#0e191d66;border-radius:50%;font-size:19px;display:inline-flex;align-items:center;justify-content:center}.icon-button:hover{background:#ffffff18}.menu{position:absolute;z-index:3;top:50%;transform:translateY(-47%);left:max(7vw,60px);width:380px;max-height:calc(100svh - 150px)}.eyebrow,.micro{font-size:10px;font-weight:600;letter-spacing:2.5px;color:var(--muted)}.eyebrow{display:flex;gap:11px;align-items:center;color:var(--mint);font-size:11px}.small-line{height:1px;width:29px;background:var(--mint)}h1,h2,h3,p{margin:0}h1{font-family:Display,'Arial Narrow',sans-serif;font-weight:800;font-size:clamp(82px,10.2vh,126px);line-height:.87;letter-spacing:-2px;margin:24px 0 18px;position:relative;width:fit-content}h1 .title-number{color:var(--orange);font-size:1.5em;position:absolute;left:100%;bottom:-.015em;margin-left:9px;font-style:normal}.number-dot{font-size:.5em;margin-left:-5px}h1:after{content:'';position:absolute;width:34px;height:3px;background:var(--orange);left:2px;bottom:-20px}.hero-copy{color:#b8c3bf;font-size:16px;line-height:1.6;margin:35px 0 23px}.mode-picker{display:flex;gap:4px;border-bottom:1px solid var(--line)}.mode-picker button{background:none;font-size:10px;letter-spacing:1.5px;font-weight:700;padding:13px 12px 12px;position:relative;color:#94a7a4;border-bottom:2px solid transparent}.mode-picker button:first-child{padding-left:0;margin-right:11px}.mode-picker button.selected{border-color:var(--orange);color:var(--ink)}.mode-dot{display:inline-block;background:var(--mint);width:4px;height:4px;border-radius:100%;vertical-align:middle;margin-left:4px}.mode-description{font-size:12px;color:var(--muted);margin:12px 0 22px;min-height:15px}.primary{min-height:59px;padding:16px 22px;background:var(--orange);color:#1b2526;font-weight:800;font-size:13px;letter-spacing:1.8px;display:flex;align-items:center;justify-content:space-between;width:100%;border-radius:2px}.primary:hover{background:#ff9b76;color:#132126;box-shadow:0 4px 35px #ff855722}.button-arrow{font-size:23px;line-height:15px}.menu-subactions{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.text-button{background:none;color:var(--muted);font-size:10px;letter-spacing:1.6px;font-weight:600;padding:8px 0}.text-button span{margin-left:5px;color:var(--orange)}.keyboard-hint{color:#758885;font-size:9px;letter-spacing:1px}kbd{font-family:inherit;display:inline-block;border:1px solid #99b0a944;border-bottom-width:2px;border-radius:3px;padding:3px 6px;font-size:10px;line-height:1.1;letter-spacing:1px;color:#b6c8c1}.keyboard-hint kbd{margin-left:5px;font-size:9px}.menu-bottom{border-top:1px solid var(--line);margin-top:28px;padding-top:21px;display:flex;gap:64px}.menu-bottom strong{display:flex;align-items:center;gap:12px;margin-top:6px;font-family:Display,sans-serif;font-size:30px;font-weight:600}.menu-bottom small{font-family:Barlow,sans-serif;font-size:9px;color:#758c87;letter-spacing:1.4px}.skin-picker{display:flex;gap:9px;margin-top:11px}.skin{background:var(--swatch);width:15px;height:15px;transform:rotate(45deg);opacity:.5;padding:0}.skin.selected{outline:1px solid var(--swatch);outline-offset:4px;opacity:1}.skin:active{transform:rotate(45deg)}.scene-caption{position:absolute;right:6vw;bottom:104px;display:flex;gap:17px;align-items:center;z-index:2}.caption-index{font-size:11px;letter-spacing:2px;color:#849895}.scene-caption strong{display:block;font-family:Display,sans-serif;font-size:25px;letter-spacing:1.3px;margin-top:5px}.scene-caption .micro{font-size:8px}.caption-line{display:block;width:55px;height:1px;background:#9adccc66;margin-left:12px}.footer{position:fixed;z-index:5;bottom:24px;left:44px;right:44px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:2px;color:#6b837e;pointer-events:none}.footer b{color:#adc2b8}.footer i{font-style:normal;margin:0 12px;color:#415b55}.hud{position:fixed;inset:0;z-index:3;pointer-events:none}.hud button{pointer-events:auto}.floor-block{position:absolute;top:140px;left:5vw}.floor-block>strong{font-family:Display,sans-serif;display:block;font-size:94px;font-weight:700;line-height:1;margin-top:6px;letter-spacing:-2px}.biome-name{font-size:10px;letter-spacing:1.8px;display:flex;gap:10px;align-items:center;margin-top:8px;color:#bbc9bd}.biome-name>span:first-child{color:var(--orange);border:1px solid #fa80564d;padding:4px 5px;font-size:9px}.score-label{margin-top:26px;color:#849a95;font-size:9px;letter-spacing:2px}.score-label b{display:block;color:#d8e4d9;font-size:22px;letter-spacing:1px;margin-top:6px;font-variant-numeric:tabular-nums}.run-status{position:absolute;top:96px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:22px}.run-mode{color:#c7d1c7;font-size:9px;letter-spacing:2px}.run-status>span:nth-child(2){font-size:11px;letter-spacing:1px;color:#8b9f94;font-variant-numeric:tabular-nums}.run-status .icon-button{width:29px;height:29px;font-size:13px}.ability-block{position:absolute;left:5vw;bottom:110px;width:176px}.dash-readout{display:flex;align-items:center;gap:11px}.diamond{font-size:38px;color:var(--mint);line-height:1}.dash-readout .micro{font-size:8px}.dash-readout strong{display:block;font-size:11px;letter-spacing:2px;margin-top:4px;color:var(--mint)}.dash-readout kbd{margin-left:auto;font-size:8px}.momentum-track{height:3px;background:#abbfac22;margin-top:25px}.momentum-track>div{height:100%;background:var(--orange);width:0}.momentum-label{display:flex;justify-content:space-between;margin-top:7px;font-size:7px;color:#8b9e90;letter-spacing:1.3px}.shard-readout{display:flex;gap:10px;align-items:center;margin-top:22px}.shard-readout>span{color:var(--orange)}.shard-readout b{font-size:18px}.shard-readout small{font-size:8px;letter-spacing:1.5px;color:#9ead9e}.combo-block{position:absolute;right:6vw;top:153px;text-align:right}.combo-block strong{display:block;font-family:Display,sans-serif;font-size:85px;line-height:1.1;color:var(--orange)}.combo-block strong small{font-size:32px}.combo-block>span:last-child{font-size:8px;letter-spacing:1.6px;color:#ffae87}.tutorial{position:absolute;bottom:66px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:9px;letter-spacing:1.5px;color:#b3c5b6;text-shadow:0 1px 5px #000}.tutorial span{color:var(--orange);margin:0 12px}.lava-warning{position:absolute;bottom:103px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:2px;color:#ff9b6f;background:#3f1c168c;padding:11px 18px;border:1px solid #ef805733;white-space:nowrap}.toast{position:fixed;z-index:8;top:24%;left:50%;transform:translate(-50%,15px);opacity:0;transition:opacity .22s,transform .22s;font-family:Display,sans-serif;font-size:31px;font-weight:600;color:var(--mint);text-shadow:0 3px 20px #05110c;pointer-events:none;text-align:center;letter-spacing:2px}.toast.show{opacity:1;transform:translate(-50%,0)}.overlay{position:fixed;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:26px;background:#071216aa;backdrop-filter:blur(12px);overflow:auto}.modal{background:linear-gradient(135deg,#192b2efa,#112024fa);border:1px solid #9fbba32b;padding:42px;width:440px;position:relative;box-shadow:0 35px 100px #0005;max-height:calc(100svh - 52px);overflow:auto}.modal .eyebrow{font-size:9px;letter-spacing:2px}h2{font-family:Display,sans-serif;font-size:45px;line-height:1;font-weight:700;letter-spacing:-.5px;margin-top:17px}h2 span{color:var(--orange)}.settings-grid{margin:32px 0}.settings-grid label{display:block;font-size:13px;color:#becdc4;margin-bottom:25px}.settings-grid output{float:right;color:var(--mint);font-size:12px}.settings-grid input[type=range]{display:block;width:100%;margin:17px 0;accent-color:var(--orange)}.settings-grid label.setting-inline{display:flex;justify-content:space-between;align-items:center}.settings-grid input[type=checkbox]{width:17px;height:17px;accent-color:var(--orange)}select{border:1px solid var(--line);background:#102023;color:var(--ink);padding:6px 8px}.wide{display:block;text-align:center;width:100%;margin-top:17px}.result-floor{display:flex;align-items:center;gap:23px;margin:23px 0}.result-floor strong{font-family:Display,sans-serif;font-size:106px;line-height:1;color:var(--orange)}.result-floor>span{font-size:9px;line-height:1.8;letter-spacing:2px;color:#a6b8aa}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.result-grid span{display:block;font-size:8px;letter-spacing:1.8px;color:var(--muted)}.result-grid b{display:block;font-size:20px;margin-top:7px}.result-tip{color:var(--muted);font-size:13px;line-height:1.6;margin:20px 0 25px}.close-button{position:absolute;right:17px;top:12px;font-size:27px;font-weight:300;color:var(--muted);background:none;padding:4px 10px}.help-card{width:780px}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:29px 33px;margin:31px 0}.help-number{font-family:Display,sans-serif;font-size:24px;color:var(--orange)}h3{font-size:13px;letter-spacing:1px;margin:6px 0 11px}.help-grid p{font-size:13px;color:#aabdb1;line-height:1.7}.help-grid kbd{font-size:9px;padding:2px 4px}.help-footer{font-size:8px;letter-spacing:1.2px;line-height:2;color:#819b8c;border-top:1px solid var(--line);padding-top:17px;margin-bottom:25px}.records-card{width:560px}.record-note{color:var(--muted);font-size:13px;line-height:1.6;margin:20px 0}.record-row{display:grid;grid-template-columns:27px 1fr 70px 70px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);gap:10px}.record-row>span{font-size:11px;color:var(--muted)}.record-row strong{font-family:Display,sans-serif;font-size:23px;color:var(--orange);text-align:right}.record-row small{display:block;font-size:8px;letter-spacing:1.3px;color:#859e8e;margin-top:4px}.record-row time{font-size:11px;color:#9aac9d;text-align:right}.empty-records{font-size:16px;color:var(--mint);padding:30px 0;line-height:1.7}.touch-controls{position:fixed;left:20px;right:20px;bottom:44px;z-index:7;display:none;justify-content:space-between;pointer-events:none}.touch-controls>div{display:flex;gap:12px}.touch-controls button{width:60px;height:58px;background:#153030bb;border:1px solid #d1e5c638;border-radius:12px;color:#d7eee0;font-size:27px;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none}.touch-controls .touch-jump{background:#fb845ace;color:#182923;border-color:transparent}.touch-controls .touch-dash{color:var(--mint)}#loadError p{margin:22px 0;line-height:1.7;color:var(--muted)}
@media(min-width:1600px){.menu{width:410px}.hero-copy{font-size:18px}}
@media(max-height:800px) and (min-width:801px){.menu{top:50%;transform:translateY(-44%)}h1{font-size:82px;margin-top:17px}.hero-copy{margin:27px 0 11px;font-size:14px;line-height:1.45}.mode-description{margin:10px 0 16px}.menu-bottom{margin-top:18px;padding-top:13px}.primary{min-height:52px}.masthead{top:20px}.menu .eyebrow{font-size:9px}.scene-caption{bottom:88px}.footer{bottom:19px}}
@media(max-width:1050px){.menu{left:5vw;width:340px}.edition{display:none}.floor-block{left:30px;top:126px}.ability-block{left:30px;width:160px}.combo-block{right:30px}.scene-caption{right:35px}.title-number{margin-left:4px!important}}
@media(max-width:800px){.masthead{left:22px;right:22px;top:20px}.wordmark{font-size:11px;letter-spacing:2px;gap:9px}.wordmark svg{width:17px}.header-right{gap:6px}.icon-button{width:32px;height:32px;font-size:17px}.footer{left:22px;right:22px;bottom:16px;font-size:6px;letter-spacing:1.3px}.footer i{margin:0 7px}body.at-menu #scene{left:6%;opacity:.55}body.at-menu .vignette{background:linear-gradient(90deg,#0c171cee,#0c171c88 58%,#0c171c00),linear-gradient(0deg,#0c171c 8%,transparent 70%)}.menu{left:8vw;width: min(380px,78vw);top:51%;transform:translateY(-47%)}h1{font-size:105px;line-height:.87}.hero-copy{font-size:15px}.scene-caption{display:none}.floor-block{left:22px;top:100px}.floor-block>.micro{font-size:7px;letter-spacing:1.8px}.floor-block>strong{font-size:58px}.biome-name{font-size:7px;gap:6px;letter-spacing:1px}.biome-name>span:first-child{font-size:7px;padding:3px}.score-label{margin-top:15px;font-size:7px}.score-label b{font-size:17px}.run-status{top:77px;gap:12px;left:auto;right:22px;transform:none}.run-mode{font-size:7px;letter-spacing:1px}.run-status>span:nth-child(2){font-size:9px}.run-status .icon-button{display:none}.combo-block{right:23px;top:129px}.combo-block .micro{font-size:7px}.combo-block strong{font-size:53px}.combo-block>span:last-child{font-size:6px}.ability-block{left:22px;bottom:128px;width:126px}.diamond{font-size:27px}.dash-readout{gap:7px}.dash-readout .micro{font-size:6px}.dash-readout strong{font-size:8px}.dash-readout kbd{display:none}.momentum-track{margin-top:12px}.momentum-label{font-size:5px}.shard-readout{margin-top:13px;gap:7px}.shard-readout small{font-size:6px}.shard-readout b{font-size:14px}.tutorial{display:none}.lava-warning{bottom:119px;font-size:7px;padding:8px 10px;letter-spacing:1px}.touch-controls{display:flex}.modal{padding:30px 25px}h2{font-size:36px}.help-grid{gap:19px;grid-template-columns:1fr}.help-grid p{font-size:12px}.help-card .help-number{display:none}.help-grid h3{margin-top:0}.overlay{padding:16px}.modal{max-height:calc(100svh - 32px)}.toast{font-size:26px;top:29%}}
@media(max-width:800px) and (max-height:760px){h1{font-size:84px}.menu{top:51%}.menu .eyebrow{font-size:9px}.hero-copy{font-size:13px;margin:26px 0 12px}.mode-picker button{font-size:9px;padding:10px 8px}.mode-description{font-size:10px;margin:10px 0 15px}.primary{min-height:49px;padding:13px 19px;font-size:11px}.menu-bottom{margin-top:13px;padding-top:12px}.menu-bottom strong{font-size:23px}.menu-subactions{margin-top:8px}.menu-bottom .micro{font-size:8px}.keyboard-hint{display:none}.menu-bottom{gap:55px}}
@media(pointer:coarse){body:not(.at-menu) .touch-controls:not(.hidden){display:flex}.tutorial{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}.grain{display:none}}

@media(max-width:800px){h1{font-size:min(105px,26vw)}}
@media(max-height:590px){.menu{top:85px;bottom:48px;transform:none;overflow-y:auto;max-height:none;padding-right:8px}h1{font-size:64px}.menu-bottom{margin-top:12px}.hero-copy{margin:27px 0 12px}.footer{bottom:12px}.masthead{top:14px}.touch-controls{bottom:33px}.touch-controls button{height:47px;width:54px}.ability-block{bottom:93px}.floor-block{top:86px}.combo-block{top:105px}}

body{overscroll-behavior:none}canvas{touch-action:none}.icon-button svg{flex:none}

.wordmark{white-space:nowrap;flex-shrink:0}@media(max-width:360px){.wordmark{font-size:9px;letter-spacing:1.4px;gap:7px}.header-right{gap:5px}.icon-button{width:28px;height:28px}}

/* Momentum is the primary ability. Feedback stays beside the play field. */
.jump-readout{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.jump-readout .micro{font-size:8px}.jump-readout strong{font-family:Display,sans-serif;font-size:27px;color:var(--orange);font-variant-numeric:tabular-nums}.ability-block .momentum-track{margin-top:7px;height:5px}.momentum-track>div{transition:width .06s linear}.full-momentum .jump-readout strong{color:#ffd78d}.full-momentum .momentum-track>div{background:#ffd78d;box-shadow:0 0 9px #ffab6e88}.ability-block .dash-readout{margin-top:25px}.dash-readout .diamond,.dash-readout strong{color:#8d9b91}.dash-readout.ready .diamond,.dash-readout.ready strong{color:var(--mint)}.energy-track{height:3px;margin-top:9px;background:#abbfac22;overflow:hidden}.energy-track>div{height:100%;width:100%;background:var(--mint);transition:width .12s linear}.dash-help{display:block;font-size:6px;letter-spacing:1.2px;color:#91a69b;margin-top:7px}.shard-readout{margin-top:17px;gap:7px}.shard-readout small{font-size:6px;letter-spacing:1px}.chain-track{height:3px;width:100%;min-width:125px;background:#ffae8722;margin:5px 0 9px;overflow:hidden}.chain-track>div{height:100%;background:var(--orange);transform-origin:left center;transition:transform .075s linear}.combo-block.expiring .chain-track>div{background:#ffdc9d}.combo-block.expiring strong{color:#ffdc9d}.combo-block strong small{font-family:Barlow,sans-serif;font-size:13px;letter-spacing:1px}.landing-feedback{position:absolute;right:6vw;top:310px;max-width:220px;text-align:right;font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--mint);text-shadow:0 2px 9px #000;opacity:0;transform:translateY(5px);transition:opacity .14s,transform .14s}.landing-feedback.show{opacity:1;transform:translateY(0)}.secondary{min-height:43px;padding:10px 16px;background:#ffffff08;border:1px solid var(--line);font-size:10px;font-weight:700;letter-spacing:1.8px;display:flex;align-items:center;justify-content:space-between}.secondary:hover{background:#ffffff13}.secondary kbd{font-size:9px}.tutorial{font-size:8px;letter-spacing:1px}.tutorial strong{color:#e4eee1;letter-spacing:1.4px}.tutorial span{margin:0 9px}.toast{top:140px;font-size:21px;letter-spacing:1.4px}.dash-readout.just-ready .diamond{animation:burst-ready .65s ease-out}@keyframes burst-ready{0%{text-shadow:0 0 0 transparent}35%{text-shadow:0 0 15px #9adccc;transform:scale(1.12)}100%{text-shadow:0 0 0 transparent;transform:scale(1)}}
@media(max-width:1050px){.landing-feedback{right:30px}}
@media(max-width:800px){.jump-readout .micro{font-size:6px;letter-spacing:1.4px}.jump-readout strong{font-size:21px}.ability-block .dash-readout{margin-top:14px}.dash-help{font-size:5px;letter-spacing:.65px}.shard-readout small{font-size:5px;letter-spacing:.7px}.landing-feedback{right:23px;top:247px;max-width:165px;font-size:8px;letter-spacing:1px}.chain-track{min-width:104px}.combo-block strong small{font-size:10px}.toast{top:75px;font-size:16px;max-width:60%;line-height:1.25}.ability-block .momentum-label{font-size:6px;letter-spacing:.7px}}
@media(max-height:590px){.landing-feedback{top:207px}.jump-readout strong{font-size:20px}.ability-block .dash-readout{margin-top:11px}.shard-readout{margin-top:9px}}
@media(prefers-reduced-motion:reduce){.dash-readout.just-ready .diamond{animation:none}}

/* Keep movement information legible over the rising lava. */
.ability-block{padding:18px 16px;background:linear-gradient(115deg,#071518e8,#0a1b21b3);border:1px solid #abd4ca18;border-radius:5px;width:208px;backdrop-filter:blur(5px)}
@media(max-width:800px){.ability-block{width:152px;padding:12px 11px;background:#091a20d9}}

@media(max-width:800px){.ability-block{display:grid;grid-template-columns:1fr 1fr;column-gap:18px;row-gap:5px;left:22px;right:22px;bottom:116px;width:auto;padding:10px 12px}.jump-readout{grid-column:1;grid-row:1}.ability-block .momentum-track{grid-column:1;grid-row:2;margin:0}.ability-block .momentum-label{display:none}.ability-block .dash-readout{grid-column:2;grid-row:1;margin:0}.ability-block .energy-track{grid-column:2;grid-row:2;margin:0}.dash-help{grid-column:2;grid-row:3;margin:0;font-size:6px}.ability-block .shard-readout{grid-column:1;grid-row:3;margin:0;font-size:8px;gap:5px}.ability-block .shard-readout b{font-size:10px}.ability-block .shard-readout small{font-size:5px}.jump-readout strong{font-size:21px}}
