:root{color-scheme:dark;--ink:#f4ecda;--gold:#efbd79;--muted:#b0bbb7;--line:#d9d7b52c;--dark:#102229}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#102229;color:var(--ink);font:14px "Segoe UI",Arial,sans-serif}button{font:inherit;cursor:pointer;color:inherit;touch-action:manipulation}button:disabled{cursor:default;opacity:.38}button:focus-visible,canvas:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button{ -webkit-tap-highlight-color:transparent}canvas{position:fixed;inset:0;width:100%;height:100%;display:block;outline:none;touch-action:none}.edge-shade{position:fixed;inset:0;pointer-events:none;background:linear-gradient(#07182299,transparent 18%,transparent 72%,#071822aa),linear-gradient(90deg,#06151b33,transparent 30%,transparent 70%,#06151b33)}.hidden{display:none!important}.hud{position:fixed;inset:0 0 auto;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 34px;pointer-events:none}.hud nav{display:flex;gap:8px;pointer-events:auto}.brand{display:flex;align-items:center;gap:10px;font:bold 20px Georgia;letter-spacing:3.2px;text-shadow:0 2px 12px #031318}.brand-mark{color:var(--gold);font:42px Georgia;line-height:40px;transform:rotate(12deg)}.brand small{display:block;font:7px "Segoe UI",sans-serif;letter-spacing:3.8px;color:#bfc8ba;margin-top:5px}.icon-button{border:1px solid #d4d4b326;background:#12242b55;width:36px;height:36px;border-radius:50%;color:#dadcca;font-size:19px;backdrop-filter:blur(6px)}.icon-button:hover{background:#edbd7930;border-color:#edbd7970}.run-hud{display:flex;align-items:center;gap:18px;background:#0c1d2688;border:1px solid #eddfb226;padding:11px 20px;border-radius:30px;backdrop-filter:blur(12px)}#hearts{color:#f19c87;font-size:19px;letter-spacing:2px;white-space:nowrap}#hearts .lost{color:#71808665}.ward{color:#9ee8ea;font-size:22px}.hud-divider{height:19px;width:1px;background:#ffffff26}.run-hud strong{font:22px Georgia;font-variant-numeric:tabular-nums;white-space:nowrap}.run-hud small{font:11px "Segoe UI";color:#c5cdbb}.gold{color:var(--gold);font-size:15px;white-space:nowrap}.gold b{font-weight:500}.chapter-progress{position:fixed;left:0;right:0;top:0;height:3px;background:#08192155;z-index:7}.chapter-progress i{height:100%;display:block;width:0;background:var(--gold);box-shadow:0 0 12px var(--gold);transition:width .15s}.screen{position:fixed;inset:0;z-index:3}.home{background:linear-gradient(90deg,#081b27d9, #0a202e66 43%,transparent 72%)}.home-content{position:absolute;left:7%;top:21%;max-width:560px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2.4px;color:var(--gold)}.home-content .eyebrow{display:flex;align-items:center;gap:10px}.eyebrow>span{display:inline-block;width:25px;height:1px;background:var(--gold)}h1{font:normal clamp(54px,6.3vw,96px)/.94 Georgia,serif;letter-spacing:-2px;margin:23px 0 22px}h1 em,h2 em{font-weight:normal;color:var(--gold)}h1 em{font-style:normal}.lede{color:#d1d8cf;font-size:14px;line-height:1.85;margin:0 0 29px;text-shadow:0 1px 8px #071822}.primary{display:flex;align-items:center;justify-content:space-between;gap:50px;min-width:230px;min-height:52px;padding:15px 24px;background:linear-gradient(135deg,#f2cf98,#e7ad68);border:1px solid #f7dfb9;box-shadow:0 4px 0 #836340,0 9px 30px #03151c55;color:#243138;font-size:11px;font-weight:800;letter-spacing:2px}.primary>span{font:25px/12px Georgia}.primary:hover{background:linear-gradient(135deg,#f8dcaa,#f0c283);transform:translateY(-1px)}.primary:active{transform:translateY(3px);box-shadow:0 1px 0 #836340}.secondary{background:#102934aa;border:1px solid #c2c3a85c;padding:12px 17px;min-height:40px;font-size:9px;letter-spacing:1.5px;color:#e8dac0;backdrop-filter:blur(8px)}.secondary:hover{border-color:var(--gold);background:#263d40}.text-button{border:0;background:transparent;padding:9px 0;font-size:9px;letter-spacing:1.5px;color:#c8d0c5}.text-button:hover{color:var(--gold)}.home-actions{display:flex;gap:24px;align-items:center;margin-top:20px}.home-actions .secondary{min-width:230px;display:flex;justify-content:space-between;align-items:center}.home-actions .secondary span{color:var(--gold);letter-spacing:.5px}.home-minor{display:flex;align-items:center;gap:24px;margin-top:18px}.home-minor>span{font-size:8px;color:#a6b9bb;letter-spacing:.5px}.realm-picker{position:absolute;right:6%;bottom:12%;width:360px;padding:23px 25px;border:1px solid #efe0b933;background:linear-gradient(130deg,#122735cc,#1227356b);backdrop-filter:blur(13px)}.realm-picker strong{display:block;font:23px Georgia;margin-top:9px}.realm-picker p{font-size:11px;color:#b8c4c2;margin:9px 0 22px}.realm-dots{display:flex;gap:9px;flex-wrap:wrap}.realm-dots button{width:22px;height:24px;padding:0;border:1px solid #d4cbb244;background:#172e3650;color:#9ab0af;font:12px Georgia}.realm-dots button.selected{border-color:var(--gold);color:#132934;background:var(--gold)}.realm-dots button.cleared{color:var(--gold);border-color:#d9b77d99}.home-bottom{position:absolute;bottom:26px;left:7%;right:6%;display:flex;justify-content:space-between;color:#abc0c1;font-size:10px;letter-spacing:.4px}.home-bottom i{font-style:normal;margin:0 11px;color:#9ab0ac}kbd{font:9px "Segoe UI",sans-serif;border:1px solid #c4d1bd60;border-radius:3px;padding:3px 5px;color:#d6e1d5;background:#13293088}.loading{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:#102229;z-index:20}.loading h1{font-size:58px;letter-spacing:5px}.loading p{color:#bfcbbb;font-size:12px}.load-track{width:220px;height:3px;background:#365052;margin:20px}.load-track i{display:block;height:100%;width:0;background:var(--gold);transition:width .3s}.center-screen{position:fixed;inset:0;z-index:8;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:30px;background:radial-gradient(ellipse,#0c253299,transparent 70%)}.center-screen h2{font:normal 64px/.99 Georgia;margin:23px 0 26px;letter-spacing:-1.7px;text-shadow:0 5px 40px #051823}.center-screen p{font-size:13px;line-height:1.8;max-width:390px;color:#d1d5c7;margin:0 0 24px}.center-screen .text-button{margin-top:24px}.small-note{font-size:10px;color:#c4ccc1;margin-top:20px;letter-spacing:1px}.launch-meter{width:300px;height:16px;background:#274b5599;border:1px solid #b7baa17a;position:relative;margin:4px 0 35px;box-shadow:0 3px 20px #08182455}.launch-meter>div{position:absolute;left:70%;width:23%;top:0;height:100%;background:#e9b86f;box-shadow:0 0 22px #e9b86f66}.launch-meter>i{position:absolute;height:30px;width:3px;background:#fff2d7;top:-8px;box-shadow:0 0 10px #fff4d4}.play-overlay{position:fixed;inset:0;pointer-events:none;z-index:4}.streak{position:absolute;left:40px;top:112px;opacity:0;transition:opacity .2s}.streak strong{font:italic 44px Georgia;color:#ffe0a5;display:block;text-shadow:0 2px 16px #001e2f}.streak span{font-size:7px;letter-spacing:2px;color:#d2d9cd}.ability-hud{position:absolute;left:38px;bottom:36px;width:155px}.rush-title{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.3px;color:#e2d1a2}.rush-title b{font-size:8px;font-weight:400}.rush-track{height:4px;background:#cfccb22e;margin-top:9px}.rush-track i{display:block;height:100%;width:0;background:var(--gold);box-shadow:0 0 15px #f0bd7955;transition:width .12s}.nova-button{pointer-events:auto;display:flex;gap:10px;align-items:center;margin-top:16px;background:#18354c9c;border:1px solid #bfb3e039;padding:8px 11px;color:#d7c6ee;font-size:8px;letter-spacing:1px}.nova-button kbd{border-color:#bfb3e066;background:none;color:#dbbeff}.play-tip{position:absolute;bottom:50px;left:30%;right:30%;font-size:12px;line-height:1.8;text-align:center;color:#d7decc;text-shadow:0 2px 7px #091f2b}.play-tip b{color:#f5ce8c;font-weight:600}.boss-hud{position:absolute;left:50%;transform:translateX(-50%);top:107px;width:min(400px,50vw);text-align:center}.boss-hud>span{font:16px Georgia;letter-spacing:1.3px;color:#f3dec1;text-shadow:0 2px 10px #081b23}.boss-hud>div{height:6px;margin:12px 0 8px;background:#0a212b99;border:1px solid #ecce9250}.boss-hud i{display:block;height:100%;background:linear-gradient(90deg,#b86c6e,#efb181);width:100%;transition:width .2s}.boss-hud small{font-size:7px;color:#c4cdbd;letter-spacing:2px}.lava-warning{position:absolute;bottom:24px;left:0;right:0;text-align:center;color:#ffd99b;font-size:10px;letter-spacing:3px;text-shadow:0 2px 12px #502114}.glass{background:#09202cd4;backdrop-filter:blur(12px)}.pause-controls{font-size:11px;line-height:2.6;color:#aebfc0;margin-top:35px}.result-mark{font:58px Georgia;color:var(--gold);margin-bottom:17px}.result-stats{display:flex;gap:48px;margin:6px 0 32px}.result-stats b{font:29px Georgia;color:#f1d5a1;display:block}.result-stats span{font-size:8px;letter-spacing:1.2px;display:block;color:#a6bbbb;margin-top:8px}.result-actions{display:flex;gap:33px}.result-actions .text-button{font-size:9px}.collection-dialog{width:min(1100px,94vw);max-height:91dvh;padding:36px;border:1px solid #c8c7a63b;background:linear-gradient(145deg,#17313c,#101f2a);color:var(--ink);box-shadow:0 30px 100px #041019aa;overflow:auto;scrollbar-color:#657d7b #122a33;scrollbar-width:thin}.collection-dialog::backdrop{background:#061721ce;backdrop-filter:blur(12px)}.close-button{position:absolute;right:20px;top:15px;font:28px Georgia;color:#becdca;background:none;border:0;width:34px;height:34px}.modal-heading{display:flex;justify-content:space-between;gap:22px;align-items:center;margin-bottom:22px;padding-right:35px}.modal-heading h2{font:39px Georgia;margin:12px 0 0;letter-spacing:-.8px}.modal-heading p{font-size:11px;line-height:1.7;color:#abbfc0;max-width:700px;margin:13px 0 0}.wallet{text-align:right;white-space:nowrap}.wallet>span{font-size:8px;letter-spacing:2px;color:#a3b8b9}.wallet strong{display:block;font:29px Georgia;color:var(--gold);margin-top:8px}.wallet b{font-weight:normal}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin:26px 0 22px}.tabs button{border:0;border-bottom:2px solid transparent;background:none;padding:10px 19px 13px;color:#a5b8bb;font-size:10px;letter-spacing:1.2px}.tabs button.active{border-bottom-color:var(--gold);color:var(--gold)}.upgrade-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.upgrade-card{display:grid;grid-template-columns:72px 1fr;grid-template-rows:auto auto auto;align-items:center;border:1px solid #b0c1b226;background:linear-gradient(130deg,#ffffff05,#ffffff01);padding:16px;gap:7px 14px;min-height:166px}.atlas-icon{background-repeat:no-repeat;background-image:url('assets/upgrade-atlas.png');background-size:600% 500%;width:72px;height:72px;grid-row:1/3;filter:drop-shadow(0 3px 8px #04172244)}.upgrade-card h3{font:18px Georgia;margin:0}.upgrade-card .level{font-size:8px;letter-spacing:3px;color:var(--gold);margin-top:7px}.upgrade-card p{grid-column:2;font-size:10px;line-height:1.6;color:#a9bec0;margin:0;min-height:31px}.upgrade-card button{grid-column:1/3;border:1px solid #d2c48c70;background:#dab17316;padding:9px;color:#f1d2a3;font-size:9px;letter-spacing:1px;margin-top:5px}.upgrade-card button:hover:not(:disabled){background:#e4b477;color:#19313a}.upgrade-card button:disabled{opacity:.43}.outfit-heading{display:flex;align-items:center;justify-content:space-between;margin:30px 0 15px}.outfit-heading h3{font:22px Georgia;margin:0 0 6px}.outfit-heading p{font-size:10px;color:#a3b9bb;margin:0}.outfit-heading>span{color:var(--gold);font-size:9px;letter-spacing:1px}.costume-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.costume-card{border:1px solid #b0c1b22b;background:#0d242d66;min-height:132px;padding:12px 5px;font-size:9px;color:#b7c8c8}.costume-card.selected{border-color:var(--gold);background:#e9c68d0d}.costume-card .costume-icon{display:block;width:76px;height:76px;margin:auto auto 8px;background-image:url('assets/costume-atlas.png');background-repeat:no-repeat;background-size:600% 500%}.costume-card small{display:block;font-size:7px;margin-top:6px;letter-spacing:.7px;color:var(--gold)}.modal-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px;border-top:1px solid var(--line);padding-top:18px}.modal-footer>span{font-size:10px;color:#acbfc0}.boss-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.boss-card{padding:15px 9px 14px;border:1px solid #b0c1b238;background:linear-gradient(145deg,#24404a66,#0b202966);text-align:center;transition:background .15s,transform .15s}.boss-card:hover{border-color:var(--gold);transform:translateY(-2px);background:#334549}.boss-portrait{width:100%;aspect-ratio:1;background-image:url('assets/boss-atlas.png');background-size:500% 200%;background-repeat:no-repeat;display:block}.boss-card strong{display:block;font:16px/1.15 Georgia;margin:10px 0 7px}.boss-card small{font-size:8px;color:#b8c1b4;line-height:1.5}.enemy-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:11px}.enemy-card{padding:14px;background:#ffffff03;border:1px solid #a6b7b220}.enemy-portrait{display:block;aspect-ratio:1;width:105px;max-width:100%;margin:auto;background-image:url('assets/enemy-atlas.png');background-size:600% 500%;background-repeat:no-repeat}.enemy-card h3{font:17px Georgia;margin:12px 0 8px}.enemy-card p{font-size:10px;line-height:1.65;color:#a7bfc0;margin:0}.toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);background:#0b242fed;border:1px solid #d9c18966;color:#f0ddba;font-size:12px;padding:14px 23px;z-index:40;text-align:center;max-width:90vw;box-shadow:0 8px 40px #0006}.touch-controls{position:fixed;left:20px;right:20px;bottom:18px;justify-content:space-between;z-index:6;pointer-events:none;display:none}.touch-controls button{pointer-events:auto;width:54px;height:49px;background:#0f2733c9;border:1px solid #ddca9b77;color:#f0d8ad;font-size:25px;border-radius:5px;touch-action:none}.touch-controls #touch-slash{width:130px;font-size:11px;letter-spacing:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}body[data-mode="playing"] .brand{font-size:16px;opacity:.9}body[data-mode="playing"] .brand-mark{font-size:32px}body[data-mode="playing"] .brand small{font-size:6px;letter-spacing:2px}
@media(max-width:1050px){.home-content{left:6%;top:22%}h1{font-size:73px}.realm-picker{width:300px;right:5%;padding:20px}.realm-dots{gap:6px}.realm-picker strong{font-size:20px}.home-minor>span{display:none}.run-hud{gap:12px;padding:10px 15px}.hud{padding:20px 25px}.brand{font-size:17px}.boss-grid{grid-template-columns:repeat(5,1fr)}.boss-card strong{font-size:14px}.collection-dialog{padding:28px}.upgrade-card{grid-template-columns:58px 1fr;padding:13px;gap:7px 11px}.atlas-icon{width:58px;height:58px}.upgrade-card h3{font-size:16px}.tabs button{padding-inline:15px}}
@media(max-width:760px){.hud{padding:17px 20px;gap:10px}.brand{font-size:15px;letter-spacing:2px}.brand-mark{font-size:32px}.brand small{font-size:6px}.icon-button{width:32px;height:32px;font-size:17px}.hud nav{gap:6px}.home-content{left:7%;top:20%}.home h1{font-size:68px}.realm-picker{left:7%;right:auto;bottom:10%;width:86%;padding:17px 20px;display:flex;gap:20px;align-items:center;justify-content:space-between}.realm-picker p{display:none}.realm-picker strong{font-size:19px}.realm-dots{max-width:148px;gap:6px;justify-content:flex-end}.home-bottom{bottom:25px;font-size:8px}.home-record{display:none}.run-hud{position:absolute;left:50%;top:69px;transform:translateX(-50%);padding:8px 17px;gap:16px;background:#09202aa1;white-space:nowrap}body[data-mode="playing"] .brand{font-size:13px}#hearts{font-size:16px}.run-hud strong{font-size:19px}.boss-hud{top:129px;width:60vw}.boss-hud>span{font-size:14px}.streak{left:22px;top:129px}.streak strong{font-size:33px}.ability-hud{left:22px;bottom:31px;width:128px}.play-tip{left:37%;right:7%;bottom:32px;font-size:10px}.collection-dialog{width:96vw;max-height:94dvh;padding:25px 18px}.modal-heading{padding-right:25px}.modal-heading h2{font-size:29px}.modal-heading .eyebrow{font-size:7px}.modal-heading p{font-size:10px}.wallet>span{font-size:6px}.wallet strong{font-size:23px}.tabs{gap:0;overflow-x:auto;margin:20px 0 15px}.tabs button{font-size:9px;padding:10px 13px}.upgrade-grid{grid-template-columns:repeat(2,1fr);gap:9px}.costume-grid{grid-template-columns:repeat(3,1fr)}.costume-card{min-height:125px}.boss-grid{grid-template-columns:repeat(2,1fr)}.boss-portrait{max-height:160px;max-width:160px;margin:auto}.boss-card strong{font-size:17px}.enemy-grid{grid-template-columns:repeat(3,1fr)}.enemy-card{padding:10px}.enemy-card h3{font-size:15px}.enemy-card p{font-size:9px}.modal-footer{align-items:flex-start}.modal-footer>span{font-size:9px}.modal-footer .secondary{font-size:8px;white-space:nowrap}.outfit-heading h3{font-size:19px}.outfit-heading p{font-size:9px}.outfit-heading>span{font-size:8px;max-width:70px;text-align:right}}
@media(max-width:470px){.home-content{top:18%;max-width:90%}.home h1{font-size:61px;margin-top:21px}.home .eyebrow{font-size:7px;letter-spacing:1.65px}.lede{font-size:12px;margin-bottom:25px}.primary{min-width:207px;min-height:48px;font-size:10px}.home-actions{gap:20px;margin-top:18px}.home-actions .secondary{min-width:207px;padding:12px 15px}.home-actions .text-button{font-size:8px}.home-minor{margin-top:12px}.home-minor .text-button{font-size:8px}.realm-picker{bottom:9%;padding:17px 16px}.realm-picker strong{font-size:17px}.realm-picker .eyebrow{font-size:7px;letter-spacing:1.2px}.realm-dots{max-width:126px;gap:5px}.realm-dots button{width:20px;height:21px;font-size:10px}.home-bottom{font-size:7px;gap:5px;left:7%;right:5%;bottom:22px}.home-bottom #home-record{display:none}.home-bottom i{margin:0 7px}.center-screen{padding:25px}.center-screen h2{font-size:48px}.center-screen>p{font-size:11px;max-width:310px}.result-mark{font-size:44px}.result-stats{gap:30px}.result-stats b{font-size:25px}.result-stats span{font-size:7px}.result-actions{gap:22px}.result-actions .text-button{font-size:8px}.launch-meter{width:260px}.upgrade-card{grid-template-columns:45px 1fr;padding:11px;gap:5px 8px}.atlas-icon{width:45px;height:45px}.upgrade-card h3{font-size:15px}.upgrade-card p{grid-column:1/3;font-size:9px;min-height:44px}.upgrade-card button{font-size:8px;padding:9px 4px}.tabs button{font-size:8px;padding:10px 11px}.wallet{display:none}.enemy-grid{grid-template-columns:repeat(2,1fr)}.loading h1{font-size:36px;letter-spacing:3px}.loading .eyebrow{font-size:7px;letter-spacing:1.5px}}
@media(max-height:740px) and (min-width:761px){.home-content{top:18%}.home h1{font-size:68px;margin:21px 0 20px}.lede{font-size:12px;margin-bottom:22px}.home-actions{margin-top:18px}.home-minor{margin-top:12px}.realm-picker{bottom:12%;padding:20px}.center-screen h2{font-size:53px;margin-block:18px 23px}.result-mark{font-size:43px;margin-bottom:13px}.result-stats{margin-bottom:26px}.result-actions .text-button{margin-top:18px}.collection-dialog{padding:25px}.upgrade-card{min-height:140px}.outfit-heading{margin-top:22px}.costume-card{min-height:115px;padding:8px}.costume-card .costume-icon{width:65px;height:65px}.modal-heading h2{font-size:32px}}
@media(max-height:690px) and (max-width:760px){.home-content{top:15%}.home h1{font-size:49px;margin:17px 0 15px}.lede{font-size:11px;margin-bottom:18px}.home-minor{display:none}.home-actions{margin-top:15px}.realm-picker{bottom:9%;padding:13px}.home-bottom{bottom:14px}.center-screen h2{font-size:43px}.result-mark{display:none}.center-screen .eyebrow{font-size:8px}.result-stats{margin-bottom:24px}.pause-controls{margin-top:20px}.pause-screen .text-button{margin-top:15px}}
@media(pointer:coarse){body[data-mode="playing"] .touch-controls{display:flex}.ability-hud{bottom:93px}.play-tip{bottom:94px}.lava-warning{bottom:75px}.home-bottom>span:first-child{font-size:0}.home-bottom>span:first-child *{display:none}.home-bottom>span:first-child:after{content:"DRAG TO STEER · TAP SLASH TO STRIKE";font-size:8px;letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}

@media(max-width:470px){#forge-dialog .modal-heading{display:block}#forge-dialog .wallet{display:block;text-align:left;margin-top:16px}#forge-dialog .wallet>span{display:none}#forge-dialog .wallet strong{font-size:20px;margin:0}.upgrade-card p{font-size:10px}}

@media(max-width:1050px){.realm-dots button{width:20px;flex:0 0 20px}}

#altitude .ascent-state{display:block;font:9px "Segoe UI",sans-serif;letter-spacing:1.6px;margin-top:4px}.enemy-role{font-size:9px;letter-spacing:1px;color:#cebd92}.boss-card small{line-height:1.55}.boss-portrait{width:150px;height:150px}

#realm-route{display:block;color:#e6cc9f;font-size:12px;letter-spacing:.8px;margin:10px 0 4px}.route-marker{position:absolute;top:1px;width:7px;height:7px;background:#213e43;border:1px solid #e4c391;transform:translateX(-50%) rotate(45deg)}.route-marker.cleared{background:#c3efd6;border-color:#c3efd6}

.miniboss-heading{margin-top:36px}
