:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#fff;--orange:#ff9829;--red:#ff4237;--yellow:#ffca48;--dark:#101014}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#08090d}body{overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:3px solid #fff;outline-offset:3px}.shell{width:100vw;height:100dvh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 50%,#26242c,#08090d 76%);overflow:hidden}.stage{position:relative;width:min(100vw,177.77778dvh);height:min(100dvh,56.25vw);aspect-ratio:16/9;overflow:hidden;isolation:isolate;background:#092d31;box-shadow:0 20px 100px #000b}canvas{display:block;position:absolute;inset:0;width:100%;height:100%}.grain{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:.13;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='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E")}.scene{position:absolute;inset:0;z-index:10}.scene.hidden,.hidden{display:none!important}button:active{transform:scale(.965)}.logo{display:flex;flex-direction:column;line-height:.9;align-items:center;transform:rotate(-4deg)}.logo>span{font-size:clamp(14px,2vw,31px);letter-spacing:-.09em;font-weight:1000;font-style:italic;text-shadow:0 2px 0 #000,0 4px 10px #0009;border:2px solid #fff;border-radius:9px;padding:4px 10px;white-space:nowrap}.logo>i{font-size:clamp(7px,.7vw,10px);margin-top:5px;font-style:normal;letter-spacing:.33em;font-weight:900}.logo.small>span{font-size:22px}.logo.small>i{font-size:7px}.topline{display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;left:0;right:0;padding:3.2% 4.2%;z-index:6}.flat{color:#fff;background:#0a0c12a8;border:1px solid #ffffff42;border-radius:100px;padding:11px 20px;font-size:12px;font-weight:850;letter-spacing:.11em}.flat span{font-size:19px;margin-left:7px}.intro-photo{position:absolute;inset:0;background:#122d2a url('../assets/heli.webp') no-repeat center 43%/cover;transform:scale(1.1);animation:cinemaZoom 8s ease-out both;transition:background-image .4s}.intro-photo.crew{background-image:url('../assets/crew.webp');background-position:center 24%}.intro-photo.torres{background-image:url('../assets/torres.webp');background-position:center 45%}.intro-photo.junior{background-image:url('../assets/junior.webp');background-position:center 33%}.intro-shade{position:absolute;inset:0;background:linear-gradient(90deg,#08090ded 0,#111416ba 39%,transparent 84%),linear-gradient(0deg,#090b0d85,transparent 60%)}.intro-copy{position:absolute;bottom:12%;left:7%;z-index:2;max-width:65%}.eyebrow{font-size:clamp(9px,.95vw,14px);font-weight:950;letter-spacing:.18em;color:#f2f3f4}.eyebrow.accent{color:var(--yellow)}.intro-copy h1{font-size:clamp(25px,4.4vw,70px);line-height:.98;font-weight:1000;letter-spacing:-.065em;text-transform:uppercase;margin:19px 0 16px;text-shadow:0 4px 20px #0008}.intro-copy h1 em,.select-heading em,.help-body em,.modal-card h2 em{font-style:normal;color:var(--orange)}.intro-copy p{font-size:clamp(11px,1.4vw,20px);max-width:550px;color:#ededed}.intro-progress{width:330px;max-width:85%;height:5px;border-radius:9px;background:#ffffff55;overflow:hidden;margin-top:26px}.intro-progress span{display:block;height:100%;width:0;background:var(--yellow);transition:width .15s linear}@keyframes cinemaZoom{from{transform:scale(1.16)}to{transform:scale(1)}}
.scene-menu{background:radial-gradient(circle at 50% 50%,transparent,#1010125c)}.menu-art{position:absolute;right:-2%;top:-13%;width:72%;height:120%;background:url('../assets/crew.webp') center 30%/cover no-repeat;filter:saturate(1.18) contrast(1.05);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 20%);mask-image:linear-gradient(90deg,transparent 0,#000 20%)}.menu-shade{position:absolute;inset:0;background:linear-gradient(90deg,#111014 0,#141013f3 20%,#1710137a 65%,#12090c30),linear-gradient(0deg,#100e13eb,transparent 45%)}.menu-topright{display:flex;align-items:center;gap:16px}.edition{font-size:clamp(7px,.85vw,12px);letter-spacing:.16em;font-weight:950;color:#fff9}.round-btn{width:43px;height:43px;border:1px solid #ffffff52;border-radius:50%;background:#121217aa;color:#fff;font-size:23px;display:grid;place-items:center}.menu-content{position:absolute;left:6%;top:24%;z-index:3}.menu-content .eyebrow{font-size:clamp(8px,1.05vw,13px)}.game-title{display:flex;align-items:flex-start;flex-direction:column;line-height:.88;margin:12px 0 18px;transform:rotate(-3deg);filter:drop-shadow(0 11px 4px #0005)}.game-title span{font-size:clamp(19px,2.6vw,38px);letter-spacing:-.02em;font-weight:950;color:#fff}.game-title strong{font-size:clamp(40px,7vw,104px);letter-spacing:-.085em;font-style:italic;font-weight:1000;color:#fff;text-shadow:0 5px 0 #bc5123,0 12px 0 #711f19}.game-title b{font-size:clamp(46px,7vw,100px);letter-spacing:-.07em;color:var(--yellow);text-shadow:0 6px 0 #ea7027,0 12px 0 #7e2d1a}.game-title b .title-blaze{font-size:.44em;color:#fff;text-shadow:0 2px 4px #f60}.menu-content>p{color:#eee6e7;font-size:clamp(10px,1.33vw,18px);font-weight:550;line-height:1.5}.action-line{display:flex;gap:12px;align-items:center;margin-top:29px}.btn{border:0;border-radius:13px;font-size:clamp(10px,1.03vw,15px);font-weight:1000;letter-spacing:.06em;line-height:1;padding:17px 24px;transition:filter .18s,transform .12s;box-shadow:0 7px 14px #0004;white-space:nowrap}.btn:hover{filter:brightness(1.1)}.btn-primary{color:#21120d;background:linear-gradient(135deg,#ffe564,#ffa021 46%,#ff6a30);box-shadow:inset 0 2px #ffffff84,0 5px 0 #a73e1d,0 13px 25px #ff7e2533}.btn-dark{color:#fff;background:#222027ed;border:1px solid #ffffff35;box-shadow:0 6px 18px #0003}.btn-ghost{color:#e3e1e3;background:transparent;box-shadow:none;border:1px solid #5e5255}.menu-bottom{display:flex;gap:12px;align-items:center;font-size:11px;letter-spacing:.05em;color:#ffffffa2;margin-top:28px}.menu-bottom .spark{color:#e8b84b}.text-link{background:transparent;color:#fff;border:0;padding:3px 0;text-decoration:underline;text-underline-offset:4px;font-size:11px;font-weight:750}
.scene-select,.scene-help{background:linear-gradient(130deg,#191316,#101117 60%,#241316)}.select-backdrop,.help-backdrop{position:absolute;inset:0;background:url('../assets/crew.webp') no-repeat 100% 34%/59%;filter:grayscale(.2);opacity:.095}.panel-header{position:absolute;top:4%;left:5%;right:5%;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:950;letter-spacing:.14em;color:#fff9}.back-link{color:#fff;background:#201b20c4;border:1px solid #ffffff35;padding:12px 18px;border-radius:40px;font-size:11px;font-weight:850;letter-spacing:.1em}.panel-counter{color:var(--yellow)}.select-heading{position:absolute;top:12%;left:5%;right:5%;text-align:center}.select-heading h2,.help-body h2{margin:6px 0;font-size:clamp(20px,3vw,44px);line-height:1;letter-spacing:-.045em;font-weight:1000}.select-heading p{margin:6px 0;font-size:12px;color:#e1d6d6}.character-grid{position:absolute;top:31%;bottom:21%;left:5%;right:5%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.character-card{position:relative;overflow:hidden;border:2px solid #ffffff29;background:linear-gradient(150deg,#42312f,#191923);border-radius:18px;color:#fff;box-shadow:0 8px 14px #0004;padding:0;transition:transform .16s,border .16s,box-shadow .16s}.character-card.active{border-color:var(--yellow);box-shadow:0 0 0 2px #f6a93344,0 0 28px #f6a9334d;transform:translateY(-9px)}.character-card::after{content:'';position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(0deg,#121015,#12101500)}.character-card .number{position:absolute;top:8px;left:12px;font-size:10px;color:#fff8;font-weight:800;z-index:2}.character-card img{position:absolute;width:100%;height:87%;object-fit:contain;object-position:center center;top:4%;left:0;transform:scale(1.24);filter:drop-shadow(0 8px 12px #0009)}.character-card .card-name{position:absolute;z-index:2;bottom:11px;left:6px;right:6px;text-align:center;font-size:clamp(10px,1.4vw,20px);font-weight:1000;letter-spacing:-.02em;text-shadow:0 2px 6px #000}.character-card .card-selected{position:absolute;z-index:3;right:8px;top:8px;border-radius:50%;background:var(--yellow);color:#2a1a14;width:21px;height:21px;display:grid;place-items:center;font-weight:900;opacity:0}.character-card.active .card-selected{opacity:1}.select-footer{position:absolute;left:5%;right:5%;bottom:4%;display:flex;align-items:center;justify-content:space-between}.selected-name{display:flex;flex-direction:column;gap:3px}.selected-name span{font-size:10px;letter-spacing:.15em;color:#ffffff83;font-weight:800}.selected-name strong{font-size:clamp(18px,2vw,28px);font-weight:950}
.help-body{position:absolute;left:7%;right:7%;top:16%;text-align:center}.help-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:3% 0 3%}.help-cards article{padding:18px;border:1px solid #ffffff29;background:#ffffff0d;border-radius:18px;min-height:220px}.help-cards h3{margin:9px 0 5px;color:var(--yellow);font-size:16px}.help-cards p{font-size:12px;color:#e5dede;line-height:1.5;margin:0}.help-icon{font-size:35px;font-weight:950;background:#ffba3b20;border-radius:50%;width:61px;height:61px;display:grid;place-items:center;margin:auto;color:#ffca49}
.scene-run{pointer-events:none}.scene-run button{pointer-events:auto}.hud{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-start;padding:17px 25px;background:linear-gradient(0deg,transparent,#050b10aa)}.hud-group{display:flex;flex-direction:column;gap:2px}.hud-kicker{font-size:10px;font-weight:1000;letter-spacing:.12em;text-shadow:0 1px 4px #000a}.hud-group strong{font-size:clamp(19px,2.6vw,30px);letter-spacing:.03em;font-weight:1000;text-shadow:0 2px 6px #000}.hud-middle{text-align:center}.hud-middle strong{font-size:16px}.hud-right{display:flex;gap:20px;align-items:center}.hud-right #hud-hearts{display:flex;gap:7px;color:#ff5447;text-shadow:0 3px 0 #6d1621,0 1px 6px #07070c;font-size:30px}.hud-right #hud-hearts .lost{color:#3e343e;text-shadow:none}.pause-btn{width:38px;height:38px;font-size:18px;font-weight:950;background:#0b1117aa}.touch-controls{position:absolute;bottom:11px;left:20px;right:20px;display:flex;align-items:end;justify-content:space-between}.control-btn{width:116px;height:91px;border:2px solid #fff5;border-radius:25px;color:#fff;background:#101d28a1;box-shadow:inset 0 3px #ffffff2a,0 5px 20px #0004;display:flex;flex-direction:column;align-items:center;justify-content:center;touch-action:none}.control-btn:active,.control-btn.pressed{background:#ffb92fd9;color:#211417;transform:scale(.96)}.jump-btn{width:132px;height:104px;border-color:#ffd45797;background:#9f401bc9}.control-glyph{font-size:37px;font-weight:900;line-height:1}.control-btn small{font-size:10px;font-weight:1000;letter-spacing:.09em}.mini-hint{font-size:11px;text-align:center;font-weight:900;color:#fff9;text-shadow:0 2px 4px #000;align-self:end;margin-bottom:26px;max-width:430px}.stage-banner{position:absolute;left:50%;top:28%;transform:translate(-50%,-20px);opacity:0;pointer-events:none;background:#0b1415ce;border:1px solid #ffb94499;padding:14px 28px;border-radius:13px;display:flex;flex-direction:column;align-items:center;gap:3px;white-space:nowrap;transition:transform .3s,opacity .3s}.stage-banner.visible{opacity:1;transform:translate(-50%,0)}.stage-banner span{font-size:11px;font-weight:850;letter-spacing:.16em;color:var(--yellow)}.stage-banner strong{font-size:24px;font-weight:1000;letter-spacing:.03em}.combo-pop{position:absolute;left:27%;top:27%;font-size:20px;color:#ffe47f;font-weight:1000;text-shadow:0 3px 7px #000,0 3px #a85b23;opacity:0;transform:translateY(0);transition:opacity .12s}.combo-pop.on{opacity:1;animation:pop .45s ease-out}.hit-flash{position:absolute;inset:0;opacity:0;background:#e8173355;pointer-events:none}.hit-flash.on{animation:damage .5s ease-out}@keyframes damage{0%{opacity:0}15%{opacity:1}100%{opacity:0}}@keyframes pop{from{transform:translateY(15px) scale(.6)}to{transform:translateY(-30px) scale(1.1)}}
.modal-scene{z-index:20;display:flex;align-items:center;justify-content:center;background:#08070bba;backdrop-filter:blur(7px)}.modal-card{text-align:center;width:min(500px,85%);background:linear-gradient(135deg,#211819,#15151c);border:1px solid #ffffff31;border-radius:24px;padding:30px 34px;box-shadow:0 25px 80px #000a;display:flex;flex-direction:column;gap:13px;align-items:stretch}.modal-card h2{font-size:clamp(25px,3.8vw,44px);line-height:1;margin:0;letter-spacing:-.04em;font-weight:1000}.modal-card>p{margin:0 0 5px;color:#ddd3d0;font-size:13px}.over-card{width:min(570px,89%);gap:12px;padding:20px 30px}.over-top{display:flex;align-items:center;justify-content:space-between}.over-top img{height:78px;width:86px;object-fit:contain;filter:drop-shadow(0 4px 8px #000)}.score-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:8px 0}.score-grid>div{background:#ffffff0b;padding:13px 5px;border-radius:10px;display:flex;flex-direction:column;gap:5px}.score-grid small{font-size:9px;font-weight:900;color:#ffffff92;letter-spacing:.08em}.score-grid strong{font-size:18px;color:var(--yellow)}.over-buttons{display:flex;gap:9px;justify-content:center}.over-buttons button{flex:1}.new-record{color:var(--yellow)!important;font-weight:1000;letter-spacing:.1em!important}
.rotate-overlay{display:none;position:fixed;inset:0;z-index:100;background:radial-gradient(circle at center,#242025,#100e14 75%);flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}.rotate-device{width:112px;height:190px;border:7px solid #fff;border-radius:19px;transform:rotate(90deg);margin-bottom:30px;display:flex;align-items:center;justify-content:center;box-shadow:0 9px 50px #ff98294d}.rotate-screen{width:87%;height:91%;border-radius:6px;background:linear-gradient(135deg,#ffb428,#ff5432);color:#fff;display:grid;place-items:center;font-size:60px;font-weight:900}.rotate-overlay h2{font-size:28px;letter-spacing:-.04em;margin:12px 0 6px}.rotate-overlay p{max-width:300px;color:#e4d5d5;line-height:1.5;margin-bottom:22px}.toast{position:absolute;z-index:50;top:12%;left:50%;transform:translateX(-50%) translateY(-10px);pointer-events:none;background:#111721dd;border:1px solid #ffffff50;border-radius:40px;padding:9px 17px;opacity:0;transition:opacity .16s,transform .16s;font-size:13px;font-weight:800;white-space:nowrap}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media (orientation:portrait){.rotate-overlay{display:flex}.stage{visibility:hidden}}@media (max-height:510px){.topline{padding:2% 4%}.menu-content{top:20%}.game-title{margin:7px 0 10px}.menu-content>p{margin:9px 0}.action-line{margin-top:16px}.menu-bottom{margin-top:15px}.btn{padding:12px 19px}.character-grid{top:29%;bottom:20%}.select-heading{top:9%}.select-heading p{font-size:10px}.help-body{top:11%}.help-cards{margin:1.5% 0}.help-cards article{min-height:0;padding:10px}.help-cards p{font-size:10px}.help-icon{width:45px;height:45px;font-size:26px}.help-cards h3{margin:3px 0}.control-btn{width:105px;height:75px}.jump-btn{width:115px;height:90px}.modal-card{padding:17px 26px;gap:8px}.over-card{padding:10px 25px}.over-top img{height:48px}.score-grid{margin:3px 0}.score-grid>div{padding:8px 4px}.hud{padding:8px 18px}.hud-right #hud-hearts{font-size:24px}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
