:root{--yellow:#ffd21f;--pink:#ff2e7e;--teal:#19d3c5;--navy:#141a3c;--navy-2:#1e2656;--ink:#0b0e22;--bone:#efe9da;--white:#f6f1e7;--display:Impact, Haettenschweiler, "Arial Narrow Bold", "Franklin Gothic Bold", "Arial Black", sans-serif;--body:"Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--pad:clamp(10px, 1.6vw, 22px)}*{box-sizing:border-box}html,body{background:var(--ink);height:100%;color:var(--white);font-family:var(--body);overscroll-behavior:none;-webkit-text-size-adjust:100%;margin:0;overflow:hidden}#app{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;position:fixed;inset:0;overflow:hidden}#view{outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}.hidden{display:none!important}kbd{min-width:1.5em;font:700 .72em var(--body);letter-spacing:.04em;text-align:center;vertical-align:.08em;background:#ffffff24;border:1px solid #ffffff40;border-radius:4px;margin:0 .12em;padding:.08em .4em;display:inline-block}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid var(--teal);outline-offset:2px}#vignette,#flash,#letterbox,#popups{pointer-events:none;position:absolute;inset:0}#vignette{background:radial-gradient(at 50% 46%,#0000 58%,#080a1c6b 100%)}#flash{opacity:0;background:#fff8e0}#letterbox i{background:#05060f;height:7vh;transition:transform .16s ease-out;position:absolute;left:0;right:0;transform:scaleY(0)}#letterbox i:first-child{transform-origin:top;top:0}#letterbox i:last-child{transform-origin:bottom;bottom:0}#letterbox.on i{transform:scaleY(1)}.popup{font:italic 400 clamp(20px, 3vw, 40px) var(--display);color:var(--yellow);text-shadow:0 2px 0 var(--ink), 0 0 12px #0009;-webkit-text-stroke:1px var(--ink);white-space:nowrap;will-change:transform, opacity;opacity:0;position:absolute;top:0;left:0}.popup.big{color:var(--pink);font-size:clamp(30px,4.6vw,62px)}#hud{pointer-events:none;position:absolute;inset:0}#speedo{right:calc(var(--pad) + var(--safe-r));bottom:calc(var(--pad) + var(--safe-b));align-items:flex-end;gap:12px;display:flex;position:absolute;transform:skew(-8deg)}.speed-num{font:italic 400 clamp(38px, 6vw, 74px) / .86 var(--display);color:var(--white);text-shadow:3px 3px 0 var(--ink);text-align:right}.speed-num small{letter-spacing:.18em;color:var(--teal);margin-top:.3em;font-size:.24em;display:block}#charge{border:2px solid var(--ink);width:16px;height:clamp(54px,9vw,96px);box-shadow:2px 2px 0 var(--ink);background:#141a3cbf;border-radius:4px;position:relative;overflow:hidden}#charge-fill{background:linear-gradient(to top, var(--teal), var(--yellow) 70%, var(--pink));height:0%;position:absolute;bottom:0;left:0;right:0}#charge.full{border-color:var(--pink);animation:.3s infinite alternate chargePulse}#charge span{transform-origin:50%;font:700 9px var(--body);letter-spacing:.12em;color:#ffffffd9;mix-blend-mode:difference;position:absolute;bottom:4px;left:50%;transform:translate(-50%)rotate(-90deg)}@keyframes chargePulse{to{box-shadow:0 0 14px var(--pink)}}#banner{left:50%;top:calc(13% + var(--safe-t));font:italic 400 clamp(26px, 5vw, 64px) var(--display);letter-spacing:.02em;color:var(--yellow);text-shadow:3px 3px 0 var(--pink), 6px 6px 0 var(--ink);white-space:nowrap;opacity:0;position:absolute;transform:translate(-50%)skew(-8deg)}#banner.show{animation:1.5s cubic-bezier(.2,1.4,.4,1) both bannerIn}#banner.slam{color:var(--white);font-size:clamp(34px,7vw,92px)}@keyframes bannerIn{0%{opacity:0;transform:translate(-50%)skew(-8deg)scale(1.9)}12%{opacity:1;transform:translate(-50%)skew(-8deg)scale(1)}78%{opacity:1}to{opacity:0;transform:translate(-50%)skew(-8deg)scale(.96)translateY(-10px)}}#damage{left:calc(var(--pad) + var(--safe-l));bottom:calc(var(--pad) + var(--safe-b));border-left:5px solid var(--pink);transform-origin:0 100%;background:linear-gradient(105deg,#141a3cf0 0%,#141a3cd1 62%,#141a3c00 100%);border-radius:4px 14px 14px 4px;align-items:flex-end;gap:12px;min-width:clamp(250px,30vw,390px);padding:12px 18px 12px 10px;display:flex;position:absolute}#damage:before{content:"";background:var(--yellow);width:5px;height:34%;position:absolute;top:0;left:-5px}#damage.hit{animation:.22s ease-out panelHit}@keyframes panelHit{0%{transform:translate(5px,-4px)scale(1.035)}to{transform:none}}.dmg-figure{flex:none;width:clamp(74px,8.6vw,112px)}#skeleton{width:100%;height:auto;display:block;overflow:visible}#skeleton .silhouette{fill:#ffffff12;stroke:#ffffff29;stroke-width:1px}#skeleton g{--c:var(--bone);color:var(--c);transform-box:fill-box;transform-origin:50%}#skeleton .bone-fill{fill:var(--c)}#skeleton .bone-line{fill:none;stroke:var(--c);stroke-width:4.2px;stroke-linecap:round}#skeleton .bone-line.thin{stroke-width:2.6px}#skeleton .bone-line.hair{stroke-width:1.7px}#skeleton .bone-line.thick{stroke-width:5px}#skeleton .bone-line.fat{stroke-width:6px}#skeleton .hole{fill:var(--navy)}#skeleton .hole-line{fill:none;stroke:var(--navy);stroke-width:1.6px;stroke-dasharray:2 1.6}#skeleton g[data-tier="1"]{--c:#ffe27a}#skeleton g[data-tier="2"]{--c:#ffa02a}#skeleton g[data-tier="3"]{--c:#ff4f6e}#skeleton g[data-tier="3"] .bone-line{stroke-dasharray:9 3.5}#skeleton g[data-tier="4"]{--c:#ff2e7e;filter:drop-shadow(0 0 4px #ff2e7e);animation:.9s steps(2,end) infinite shattered}#skeleton g[data-tier="4"] .bone-line{stroke-dasharray:4.5 3.5}@keyframes shattered{50%{--c:#ffd21f}}#skeleton g.pulse{animation:.42s ease-out bonePulse}#skeleton g[data-tier="4"].pulse{animation:.42s ease-out bonePulse,.9s steps(2,end) infinite shattered}@keyframes bonePulse{0%{filter:brightness(2.4)drop-shadow(0 0 8px #fff);transform:scale(1.32)}to{transform:scale(1)}}.dmg-main{flex:1;min-width:0;padding-bottom:2px}.dmg-label{font:700 11px var(--body);letter-spacing:.3em;color:var(--teal)}#score{font:italic 400 clamp(40px, 5.6vw, 76px) / .95 var(--display);color:var(--yellow);text-shadow:3px 3px 0 var(--ink);font-variant-numeric:tabular-nums;transform-origin:0 100%;will-change:transform}#chain{background:var(--pink);color:var(--white);font:italic 400 clamp(15px, 1.7vw, 22px) var(--display);letter-spacing:.04em;box-shadow:3px 3px 0 var(--ink);margin:3px 0 2px;padding:2px 10px 2px 8px;display:inline-block;transform:skew(-10deg)}#chain b{font-weight:400}#chain i{color:var(--yellow);margin-left:4px;font-size:.72em}#chain.bump{animation:.3s ease-out chainBump}@keyframes chainBump{0%{transform:skew(-10deg)scale(1.4)}}#feed{height:clamp(58px,6.4vw,80px);font:700 clamp(10.5px, 1.05vw, 13.5px) / 1.5 var(--body);letter-spacing:.07em;white-space:nowrap;flex-direction:column;justify-content:flex-end;margin:5px 0 0;padding:0;list-style:none;display:flex;overflow:hidden}#feed li{opacity:.55;justify-content:space-between;gap:14px;animation:.25s ease-out both feedIn;display:flex}#feed li:last-child{opacity:1}#feed li b{color:var(--yellow);font-weight:700}#feed li.tier-3,#feed li.tier-4{color:#ff8fb6}#feed li.bonus{color:var(--teal)}@keyframes feedIn{0%{opacity:0;transform:translate(-16px)}}#hud-buttons{top:calc(var(--pad) + var(--safe-t));right:calc(var(--pad) + var(--safe-r));pointer-events:auto;gap:10px;display:flex;position:absolute}.icon-btn{background:#141a3cb8;border:2px solid #ffffff38;border-radius:12px;place-items:center;width:46px;height:46px;padding:0;display:grid}.icon-btn svg{width:24px;height:24px}.icon-btn:hover{border-color:var(--yellow)}#btn-mute .cross{display:none}#btn-mute.muted .cross{display:block}#btn-mute.muted .wave{display:none}#touch{pointer-events:none;position:absolute;inset:0}#stick,#jump-btn{bottom:calc(18px + var(--safe-b));pointer-events:auto;touch-action:none;background:#141a3c6b;border:3px solid #ffffff59;border-radius:50%;position:absolute}#stick{left:calc(18px + var(--safe-l));width:clamp(120px,21vmin,168px);height:clamp(120px,21vmin,168px)}#stick-knob{background:var(--yellow);width:44%;height:44%;box-shadow:0 3px 0 var(--ink);will-change:transform;border-radius:50%;margin:-22% 0 0 -22%;position:absolute;top:50%;left:50%}#stick-label{text-align:center;font:700 10px var(--body);letter-spacing:.2em;color:#ffffffb3;position:absolute;top:-22px;left:0;right:0}#jump-btn{right:calc(18px + var(--safe-r));bottom:calc(110px + var(--safe-b));text-align:center;width:clamp(104px,19vmin,150px);height:clamp(104px,19vmin,150px);font:700 11px / 1.25 var(--body);letter-spacing:.12em;border-color:var(--pink);place-items:center;display:grid}#jump-btn.down{background:var(--pink);transform:scale(.94)}#jump-btn.air{opacity:.25}body.touch #damage{left:calc(clamp(120px, 21vmin, 168px) + 34px + var(--safe-l));transform:scale(.84)}body.touch #speedo{bottom:auto;top:calc(var(--pad) + var(--safe-t));right:auto;left:calc(var(--pad) + var(--safe-l))}body.touch .hints{display:none}#replay{pointer-events:none;position:absolute;inset:0}#replay-tag{top:calc(var(--pad) + var(--safe-t));left:calc(var(--pad) + var(--safe-l));font:italic 400 clamp(22px, 3vw, 38px) var(--display);letter-spacing:.06em;background:var(--pink);color:var(--white);box-shadow:4px 4px 0 var(--ink);padding:4px 16px 4px 12px;position:absolute;transform:skew(-10deg)}#replay-tag i{background:var(--white);border-radius:50%;width:.42em;height:.42em;margin-right:.35em;animation:1s steps(2,end) infinite blink;display:inline-block}@keyframes blink{50%{opacity:.15}}#replay-bar{left:calc(var(--pad) + var(--safe-l));right:calc(var(--pad) + var(--safe-r));bottom:calc(var(--pad) + var(--safe-b));border-bottom:4px solid var(--teal);pointer-events:auto;background:#141a3ce6;border-radius:14px;align-items:center;gap:10px;padding:10px 12px;display:flex;position:absolute}#rp-scrub{min-width:60px;height:34px;accent-color:var(--yellow);touch-action:none;flex:1}#rp-time{font:700 13px var(--body);font-variant-numeric:tabular-nums;text-align:right;min-width:4.6em;color:var(--teal)}.pill{min-width:48px;min-height:44px;font:700 12px var(--body);letter-spacing:.1em;white-space:nowrap;background:#ffffff12;border:2px solid #ffffff40;border-radius:10px;padding:0 14px}.pill:hover{border-color:var(--yellow)}.pill.hot{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}#replay.active~#hud #speedo,body.replay #speedo,body.replay #hud-buttons,body.replay #touch{display:none}body.replay #damage{bottom:calc(var(--pad) + var(--safe-b) + 78px);left:calc(var(--pad) + var(--safe-l));transform:scale(.86)}.screen{padding:calc(var(--pad) + var(--safe-t)) calc(var(--pad) + var(--safe-r)) calc(var(--pad) + var(--safe-b)) calc(var(--pad) + var(--safe-l));place-items:center;display:grid;position:absolute;inset:0;overflow:auto}#screen-title{background:linear-gradient(100deg,#0b0e22e0 0%,#0b0e228c 42%,#0b0e2200 72%);place-items:center start}#screen-pause,#screen-results{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#080a1c9e}.title-card{max-width:560px;margin-left:clamp(0px,4vw,70px)}.kicker{font:700 clamp(10px, 1.1vw, 13px) var(--body);letter-spacing:.34em;color:var(--teal)}h1{font:italic 400 clamp(64px, 13vw, 172px) / .84 var(--display);letter-spacing:-.01em;transform-origin:0 100%;margin:.08em 0 .1em;transform:skew(-6deg)}h1 span{color:var(--yellow);text-shadow:.035em .035em 0 var(--pink), .07em .07em 0 var(--ink);display:block}h1 span:last-child{color:var(--white);padding-left:.22em}.tag{color:#f6f1e7e6;margin:0 0 1.2em;font-size:clamp(14px,1.5vw,19px)}.big-btn{background:var(--yellow);color:var(--ink);font:italic 400 clamp(24px, 3.2vw, 40px) var(--display);letter-spacing:.03em;box-shadow:5px 5px 0 var(--pink), 9px 9px 0 var(--ink);border:0;border-radius:8px;align-items:center;gap:.6em;padding:.42em 1.1em .4em;transition:transform 80ms,box-shadow 80ms;display:inline-flex;transform:skew(-8deg)}.big-btn:hover{box-shadow:7px 7px 0 var(--pink), 11px 11px 0 var(--ink);transform:skew(-8deg)translate(-2px,-2px)}.big-btn:active{box-shadow:1px 1px 0 var(--pink), 3px 3px 0 var(--ink);transform:skew(-8deg)translate(4px,4px)}.big-btn kbd{background:#00000024;border-color:#0000004d;font-style:normal}.big-btn.small{font-size:clamp(19px,2.2vw,28px)}.big-btn.alt{background:var(--white);box-shadow:5px 5px 0 var(--teal), 9px 9px 0 var(--ink)}.hints{color:#f6f1e7db;gap:.5em;margin-top:1.9em;font-size:clamp(12px,1.15vw,15px);display:grid}.title-foot{font:700 12px var(--body);letter-spacing:.16em;color:var(--yellow);align-items:center;gap:1.4em;margin-top:1.4em;display:flex}.link-btn{border:0;border-bottom:2px solid var(--teal);font:700 12px var(--body);letter-spacing:.16em;color:var(--white);background:0 0;padding:8px 2px 4px}.panel{background:linear-gradient(160deg, var(--navy-2), var(--navy));border-top:6px solid var(--pink);border-radius:16px;width:min(560px,100%);padding:clamp(16px,2.4vw,30px);box-shadow:0 20px 60px #00000080}.panel h2{font:italic 400 clamp(34px, 4.6vw, 58px) / 1 var(--display);color:var(--yellow);text-shadow:3px 3px 0 var(--ink);margin:0 0 .5em}.row-btns{flex-wrap:wrap;gap:22px;margin-top:6px;display:flex}.settings{grid-template-columns:1fr 1fr;gap:12px 22px;margin-top:26px;font-size:14px;display:grid}.settings label{letter-spacing:.03em;flex-direction:column;gap:5px;font-weight:600;display:flex}.settings label.check{flex-direction:row;align-items:center;gap:10px;min-height:40px}.settings select,.settings input[type=range]{background:var(--ink);min-height:40px;color:var(--white);font:inherit;accent-color:var(--yellow);border:2px solid #fff3;border-radius:8px;padding:0 10px}.settings input[type=range]{background:0 0;border:0;padding:0}.settings input[type=checkbox]{width:22px;height:22px;accent-color:var(--pink)}.results{width:min(760px,100%)}.res-head{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}#res-total{font:italic 400 clamp(60px, 9.6vw, 124px) / .9 var(--display);color:var(--yellow);text-shadow:4px 4px 0 var(--pink), 8px 8px 0 var(--ink);font-variant-numeric:tabular-nums}#res-best{font:700 12px var(--body);letter-spacing:.18em;color:var(--teal);min-height:1.2em;margin-top:10px}#res-best.new{color:var(--pink);animation:.7s steps(2,end) infinite blink}#res-verdict{font:italic 400 clamp(20px, 3vw, 38px) / 1 var(--display);color:var(--white);text-align:right;max-width:44%;transform:skew(-8deg)rotate(-3deg)}.res-body{grid-template-columns:1.15fr 1fr;gap:8px 26px;margin:20px 0 22px;font-size:clamp(12px,1.25vw,14.5px);display:grid}#res-regions{border-collapse:collapse;width:100%}#res-regions td{letter-spacing:.04em;border-bottom:1px solid #ffffff17;padding:4px 0;font-weight:600}#res-regions td:nth-child(2){font-weight:800}#res-regions td:last-child{text-align:right;color:var(--yellow);font-variant-numeric:tabular-nums}#res-regions tr[data-tier="0"] td:nth-child(2){color:#fff6}#res-regions tr[data-tier="1"] td:nth-child(2){color:#ffe27a}#res-regions tr[data-tier="2"] td:nth-child(2){color:#ffa02a}#res-regions tr[data-tier="3"] td:nth-child(2){color:#ff4f6e}#res-regions tr[data-tier="4"] td:nth-child(2){color:var(--pink)}#res-stats{margin:0;padding:0;list-style:none}#res-stats li{border-bottom:1px solid #ffffff17;justify-content:space-between;gap:12px;padding:4px 0;display:flex}#res-stats li b{color:var(--teal);text-align:right}#rotate-hint{top:calc(8px + var(--safe-t));background:var(--teal);color:var(--ink);font:700 12px var(--body);letter-spacing:.06em;white-space:nowrap;z-index:20;border-radius:999px;align-items:center;gap:8px;padding:8px 8px 8px 16px;display:flex;position:absolute;left:50%;transform:translate(-50%)}#rotate-hint button{background:#0000002e;border:0;border-radius:50%;width:32px;height:32px;font-size:18px;line-height:1}#debug{top:calc(64px + var(--safe-t));right:calc(var(--pad) + var(--safe-r));color:#9dffb0;pointer-events:none;z-index:30;background:#000000b3;border-radius:6px;margin:0;padding:8px 10px;font:11px/1.45 ui-monospace,Consolas,monospace;position:absolute}#loading{background:var(--ink);font:italic 400 34px var(--display);color:var(--yellow);letter-spacing:.1em;z-index:50;place-items:center;display:grid;position:absolute;inset:0}@media (max-height:470px){.hints{display:none}h1{font-size:clamp(48px,20vh,110px)}.settings{gap:6px 18px;margin-top:14px}.res-body{margin:10px 0 12px}#res-total{font-size:clamp(44px,17vh,90px)}.panel h2{font-size:30px}}@media (orientation:portrait){#screen-title{background:linear-gradient(#0b0e2200 15%,#0b0e2299 45%,#0b0e22eb 100%);place-items:end start}.title-card{margin:0 0 6vh}#damage,body.touch #damage{left:calc(var(--pad) + var(--safe-l));bottom:auto;top:calc(70px + var(--safe-t));transform-origin:0 0;transform:scale(.8)}body.touch #speedo,#speedo{top:calc(var(--pad) + var(--safe-t));bottom:auto;left:calc(var(--pad) + var(--safe-l));right:auto}.res-body,.settings{grid-template-columns:1fr}#replay-bar{flex-wrap:wrap}#rp-scrub{flex-basis:100%;order:-1}body.replay #damage{bottom:auto}}@media (prefers-reduced-motion:reduce){#banner.show,#damage.hit,#skeleton g.pulse{animation-duration:10ms}}
