:root{color:#0b0b0d;background:#d7e6e8;font-family:Arial Narrow,Helvetica Neue,Arial,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden;-webkit-font-smoothing:antialiased;background:#0b0b0d;-webkit-user-select:none;user-select:none;overscroll-behavior:none}.takoyaki-stage{width:100vw;height:100dvh;overflow:hidden;position:relative;isolation:isolate;touch-action:none;cursor:crosshair;background:#d7e6e8}.takoyaki-stage:before{content:"";position:absolute;top:-5%;right:-5%;bottom:-5%;left:-5%;z-index:0;background:var(--stage-image) center / cover no-repeat;filter:blur(30px) saturate(.72) contrast(.92);opacity:.38;transform:scale(1.08);pointer-events:none}.takoyaki-stage:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;background:#d3e7ea00;pointer-events:none;transition:background .24s ease}.takoyaki-stage.is-calm:before{filter:blur(34px) saturate(.5) contrast(.86) brightness(.88);opacity:.5}.takoyaki-stage.is-calm:after{background:#d3e7ea33}.stage-background,.stage-sign-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;object-fit:cover;object-position:50% 50%;pointer-events:none}.character-beat-wrapper,.character-hit-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.character-beat-wrapper{z-index:2;transform:translate3d(var(--character-beat-x, 0px),var(--character-beat-y, 0px),0) rotate(var(--character-beat-rotate, 0deg)) scale(var(--character-beat-scale, 1));transform-origin:50% 76%;will-change:transform}.character-hit-layer{transform-origin:50% 76%;will-change:transform}.stage-background{filter:saturate(.86) contrast(.96) brightness(.98);transform:translate3d(var(--background-beat-x, 0px),var(--background-beat-y, 0px),0) scale(var(--background-beat-scale, 1.012));transform-origin:50% 52%;will-change:transform}.stage-sign-layer{z-index:1;filter:saturate(.82) contrast(.95) brightness(.98);transform:scale(var(--sign-beat-scale, 1));transform-origin:50% 52%;will-change:transform,opacity}.stage-sign-layer.is-entering{animation:sign-change-in .42s cubic-bezier(.2,.82,.24,1) both}.stage-sign-layer.is-exiting{animation:sign-change-out .21s cubic-bezier(.4,0,.25,1) both}@keyframes sign-change-in{0%{opacity:0;filter:saturate(.68) contrast(.92) brightness(1.03)}to{opacity:1;filter:saturate(.82) contrast(.95) brightness(.98)}}@keyframes sign-change-out{0%{opacity:1}to{opacity:0}}.stage-sign-layer.is-entering[class*=motif-]{animation-duration:.18s,var(--sign-cycle, 3.428571s);animation-delay:0s,var(--sign-phase-delay, 0s);animation-timing-function:cubic-bezier(.2,.82,.24,1),ease-in-out;animation-fill-mode:both,both;animation-iteration-count:1,infinite}.takoyaki-stage[data-pack=glass]{--sign-cycle: 3.428571s}.takoyaki-stage[data-pack=lofi],.takoyaki-stage[data-pack=dream]{--sign-cycle: 6.857143s}.takoyaki-stage[data-pack=pulse]{--sign-cycle: 1.714286s}.stage-sign-layer.is-entering.motif-orbit{animation-name:sign-change-in,motif-orbit}.stage-sign-layer.is-entering.motif-ribbon{animation-name:sign-change-in,motif-ribbon}.stage-sign-layer.is-entering.motif-diamond{animation-name:sign-change-in,motif-diamond}.stage-sign-layer.is-entering.motif-petal{animation-name:sign-change-in,motif-petal}.stage-sign-layer.is-entering.motif-wave{animation-name:sign-change-in,motif-wave}.stage-sign-layer.is-entering.motif-slash{animation-name:sign-change-in,motif-slash}.stage-sign-layer.is-entering.motif-lock{animation-name:sign-change-in,motif-lock}.stage-sign-layer.is-entering.motif-check{animation-name:sign-change-in,motif-check}.stage-sign-layer.is-entering.motif-star{animation-name:sign-change-in,motif-star}.stage-sign-layer.is-entering.motif-spiral{animation-name:sign-change-in,motif-spiral}.stage-sign-layer.is-entering.motif-hex{animation-name:sign-change-in,motif-hex}.stage-sign-layer.is-entering.motif-impact{animation-name:sign-change-in,motif-impact}@keyframes motif-orbit{0%,to{transform:scale(var(--sign-beat-scale, 1)) rotate(-.6deg)}50%{transform:scale(var(--sign-beat-scale, 1)) rotate(.6deg)}}@keyframes motif-ribbon{0%,to{transform:translate3d(-10px,-2px,0) scale(var(--sign-beat-scale, 1))}50%{transform:translate3d(10px,2px,0) scale(var(--sign-beat-scale, 1))}}@keyframes motif-diamond{0%,to{transform:scale(var(--sign-beat-scale, 1)) rotate(-.35deg)}50%{transform:scale(calc(var(--sign-beat-scale, 1) + .018)) rotate(.35deg)}}@keyframes motif-petal{0%,to{transform:translate3d(-8px,5px,0) scale(var(--sign-beat-scale, 1)) rotate(-.6deg);opacity:.84}50%{transform:translate3d(8px,-5px,0) scale(calc(var(--sign-beat-scale, 1) + .014)) rotate(.6deg);opacity:1}}@keyframes motif-wave{0%,to{transform:translate3d(-10px,-2px,0) scale(var(--sign-beat-scale, 1));filter:brightness(.92)}50%{transform:translate3d(10px,2px,0) scale(calc(var(--sign-beat-scale, 1) + .012));filter:brightness(1.08)}}@keyframes motif-slash{0%,to{transform:translate3d(-9px,6px,0) scale(var(--sign-beat-scale, 1))}50%{transform:translate3d(9px,-6px,0) scale(calc(var(--sign-beat-scale, 1) + .016))}}@keyframes motif-lock{0%,to{transform:scale(var(--sign-beat-scale, 1))}50%{transform:scale(calc(var(--sign-beat-scale, 1) + .024))}}@keyframes motif-check{0%,to{transform:translate3d(-6px,-4px,0) scale(var(--sign-beat-scale, 1));opacity:.86}50%{transform:translate3d(6px,4px,0) scale(calc(var(--sign-beat-scale, 1) + .012));opacity:1}}@keyframes motif-star{0%,to{transform:scale(var(--sign-beat-scale, 1)) rotate(-.3deg);filter:brightness(.92)}50%{transform:scale(calc(var(--sign-beat-scale, 1) + .026)) rotate(.3deg);filter:brightness(1.1)}}@keyframes motif-spiral{0%,to{transform:scale(var(--sign-beat-scale, 1)) rotate(-.8deg)}50%{transform:scale(calc(var(--sign-beat-scale, 1) + .014)) rotate(.8deg)}}@keyframes motif-hex{0%,to{transform:scale(var(--sign-beat-scale, 1)) rotate(-.4deg)}50%{transform:scale(calc(var(--sign-beat-scale, 1) + .022)) rotate(.4deg)}}@keyframes motif-impact{0%,to{transform:scale(var(--sign-beat-scale, 1))}18%{transform:scale(calc(var(--sign-beat-scale, 1) + .04))}42%{transform:scale(calc(var(--sign-beat-scale, 1) - .008))}62%{transform:scale(calc(var(--sign-beat-scale, 1) + .018))}}.takoyaki-character{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;pointer-events:none;filter:drop-shadow(0 22px 30px rgba(20,28,34,.16));will-change:filter}.takoyaki-character.is-entering{z-index:1;animation:character-switch-in .42s cubic-bezier(.2,.82,.24,1) both}.takoyaki-character.is-exiting{z-index:0;animation:character-switch-out .36s cubic-bezier(.4,0,.25,1) both}@keyframes character-switch-in{0%{opacity:0;transform:scale(.985);filter:blur(5px) saturate(.88)}to{opacity:1;transform:scale(1)}}@keyframes character-switch-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.018);filter:blur(4px) saturate(.82)}}.hit-effect-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;overflow:hidden;pointer-events:none}.contact-flash{--contact-main: #b52f3d;--contact-accent: #ffffff;position:absolute;width:clamp(54px,7vmin,104px);aspect-ratio:1;border:clamp(3px,.35vmin,5px) solid var(--contact-main);border-radius:50%;box-shadow:0 0 0 3px color-mix(in srgb,var(--contact-accent) 76%,transparent),0 0 18px color-mix(in srgb,var(--contact-main) 58%,transparent);transform:translate(-50%,-50%) scale(.18);animation:contact-flash .15s cubic-bezier(.16,.84,.24,1) both}.contact-flash:after{content:"";position:absolute;top:26%;right:26%;bottom:26%;left:26%;background:var(--contact-accent);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}.contact-flash.pack-lofi{--contact-main: #39494f;--contact-accent: #d75a65}.contact-flash.pack-dream{--contact-main: #fff4f6;--contact-accent: #a45d71}.contact-flash.pack-pulse{--contact-main: #d91821;--contact-accent: #ffffff}@keyframes contact-flash{0%{opacity:0;transform:translate(-50%,-50%) scale(.18)}24%{opacity:1;transform:translate(-50%,-50%) scale(.74)}to{opacity:0;transform:translate(-50%,-50%) scale(1.18)}}.hit-burst{--burst-main: #ffffff;--burst-accent: #a52d38;--burst-shadow: rgba(165, 45, 56, .34);position:absolute;width:clamp(220px,34vmin,500px);aspect-ratio:1;transform:translate(-50%,-50%);filter:drop-shadow(0 0 18px var(--burst-shadow));animation:hit-burst-shell .82s cubic-bezier(.16,.8,.22,1) both}.hit-burst.pack-glass{--burst-main: #b52f3d;--burst-accent: #151217;--burst-shadow: rgba(181, 47, 61, .52)}.hit-burst.pack-lofi{--burst-main: #b54852;--burst-accent: #27343a;--burst-shadow: rgba(39, 52, 58, .35)}.hit-burst.pack-dream{--burst-main: #fff4f6;--burst-accent: #a45d71;--burst-shadow: rgba(164, 93, 113, .42)}.hit-burst.pack-pulse{--burst-main: #ffffff;--burst-accent: #d91821;--burst-shadow: rgba(217, 24, 33, .52)}.hit-burst-ring,.hit-burst-core,.hit-burst-spark{position:absolute;left:50%;top:50%;display:block}.hit-burst-ring{width:82%;aspect-ratio:1;border:clamp(4px,.58vmin,8px) solid var(--burst-main);border-radius:50%;box-shadow:0 0 0 2px #0b0b0d85,0 0 0 7px color-mix(in srgb,var(--burst-accent) 64%,transparent),inset 0 0 30px color-mix(in srgb,var(--burst-main) 46%,transparent);transform:translate(-50%,-50%) scale(.12);animation:hit-ring-expand .72s cubic-bezier(.12,.74,.22,1) both}.hit-burst-ring.ring-two{width:53%;border-style:dashed;border-color:var(--burst-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--burst-main) 72%,transparent);animation-delay:55ms}.hit-burst-core{width:29%;aspect-ratio:1;background:var(--burst-main);box-shadow:0 0 0 3px var(--burst-accent),0 0 22px var(--burst-shadow);clip-path:polygon(50% 0,61% 38%,100% 50%,61% 62%,50% 100%,39% 62%,0 50%,39% 38%);transform:translate(-50%,-50%) scale(.08) rotate(0);animation:hit-core-pop .54s cubic-bezier(.18,.86,.2,1) both}.hit-burst-spark{width:34%;height:clamp(4px,.44vmin,7px);border-radius:999px;background:linear-gradient(90deg,var(--burst-main),var(--burst-accent) 64%,transparent);transform-origin:0 50%;transform:rotate(var(--spark-angle)) translate(10%) scaleX(.12);animation:hit-spark-fly .66s cubic-bezier(.14,.76,.22,1) both}.hit-burst-spark:nth-of-type(2n){width:22%;animation-delay:34ms}@keyframes hit-burst-shell{0%{opacity:0;transform:translate(-50%,-50%) scale(.72) rotate(-4deg)}5%{opacity:1}72%{opacity:.96}to{opacity:0;transform:translate(-50%,-50%) scale(1.08) rotate(2deg)}}@keyframes hit-ring-expand{0%{opacity:0;transform:translate(-50%,-50%) scale(.12)}10%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1.22)}}@keyframes hit-core-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.08) rotate(-20deg)}10%{opacity:.94;transform:translate(-50%,-50%) scale(1.08) rotate(5deg)}to{opacity:0;transform:translate(-50%,-50%) scale(.42) rotate(28deg)}}@keyframes hit-spark-fly{0%{opacity:0;transform:rotate(var(--spark-angle)) translate(8%) scaleX(.12)}18%{opacity:1}to{opacity:0;transform:rotate(var(--spark-angle)) translate(96%) scaleX(1)}}.hit-burst.motif-orbit .hit-burst-ring{width:92%;height:46%;aspect-ratio:auto;animation:hit-orbit-ring .76s cubic-bezier(.16,.78,.2,1) both}.hit-burst.motif-orbit .ring-two{width:54%;height:84%;animation-direction:reverse}.hit-burst.motif-orbit .hit-burst-core{width:13%;border-radius:50%;clip-path:none;animation:hit-orbit-core .65s ease-out both}.hit-burst.motif-orbit .hit-burst-spark{width:8%;height:8%;border-radius:50%;background:var(--burst-main);animation:hit-orbit-satellite .72s ease-out both}.hit-burst.motif-ribbon .hit-burst-ring{width:82%;height:22%;aspect-ratio:auto;border-width:clamp(5px,.8vmin,10px);border-color:transparent;border-top-color:var(--burst-main);border-bottom-color:var(--burst-accent);border-radius:50%;box-shadow:none;animation:hit-ribbon-loop .7s cubic-bezier(.16,.78,.22,1) both}.hit-burst.motif-ribbon .ring-two{width:66%;animation-delay:45ms;animation-direction:reverse}.hit-burst.motif-ribbon .hit-burst-core{width:72%;height:7%;aspect-ratio:auto;border-radius:999px;clip-path:none;animation:hit-ribbon-sweep .56s ease-out both}.hit-burst.motif-ribbon .hit-burst-spark{width:38%;height:5%;animation:hit-ribbon-tail .68s ease-out both}.hit-burst.motif-diamond .hit-burst-ring{width:66%;border-radius:0;animation:hit-diamond-ring .72s cubic-bezier(.12,.78,.2,1) both}.hit-burst.motif-diamond .ring-two{width:42%;border-style:solid;animation-delay:60ms}.hit-burst.motif-diamond .hit-burst-core{width:24%;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);animation:hit-diamond-core .6s cubic-bezier(.16,.84,.22,1) both}.hit-burst.motif-diamond .hit-burst-spark{width:22%;height:12%;border-radius:0;clip-path:polygon(0 38%,100% 0,72% 100%);animation:hit-diamond-shard .69s ease-out both}.hit-burst.motif-petal .hit-burst-ring{width:62%;border-width:clamp(3px,.42vmin,6px);animation:hit-petal-halo .76s ease-out both}.hit-burst.motif-petal .ring-two{width:34%;border-style:dotted}.hit-burst.motif-petal .hit-burst-core{width:17%;border-radius:50%;clip-path:none;animation:hit-petal-core .62s ease-out both}.hit-burst.motif-petal .hit-burst-spark{width:17%;height:27%;border-radius:100% 0;background:linear-gradient(135deg,var(--burst-main),var(--burst-accent));transform-origin:0 50%;animation:hit-petal-fly .78s cubic-bezier(.12,.72,.22,1) both}.hit-burst.motif-wave .hit-burst-ring{width:94%;height:24%;aspect-ratio:auto;border-width:clamp(4px,.55vmin,8px);box-shadow:none;animation:hit-wave-ripple .76s ease-out both}.hit-burst.motif-wave .ring-two{width:76%;height:16%;border-style:solid;animation-delay:85ms}.hit-burst.motif-wave .hit-burst-core{width:74%;height:5%;aspect-ratio:auto;border-radius:999px;clip-path:none;animation:hit-wave-line .56s ease-out both}.hit-burst.motif-wave .hit-burst-spark,.hit-burst.motif-slash .hit-burst-ring{display:none}.hit-burst.motif-slash .hit-burst-core{width:92%;height:8%;aspect-ratio:auto;border-radius:0;clip-path:polygon(0 44%,92% 0,100% 50%,8% 100%);animation:hit-slash-main .6s cubic-bezier(.12,.74,.2,1) both}.hit-burst.motif-slash .hit-burst-spark{width:54%;height:clamp(3px,.36vmin,6px);border-radius:0;animation:hit-slash-streak .62s ease-out both}.hit-burst.motif-lock .hit-burst-ring{width:62%;border-radius:22%;animation:hit-lock-frame .7s cubic-bezier(.18,.82,.2,1) both}.hit-burst.motif-lock .ring-two{width:38%;border-radius:50% 50% 24% 24%;border-style:solid;animation-delay:55ms}.hit-burst.motif-lock .hit-burst-core{width:14%;border-radius:50% 50% 24% 24%;clip-path:none;animation:hit-lock-key .56s ease-out both}.hit-burst.motif-lock .hit-burst-core:after{position:absolute;left:38%;top:62%;width:24%;height:58%;background:var(--burst-main);content:""}.hit-burst.motif-lock .hit-burst-spark{width:9%;height:9%;border-radius:16%;animation:hit-lock-chip .66s ease-out both}.hit-burst.motif-check .hit-burst-ring{width:66%;border-radius:18%;animation:hit-check-frame .68s ease-out both}.hit-burst.motif-check .ring-two{width:48%;border-style:solid;animation-delay:40ms}.hit-burst.motif-check .hit-burst-core{width:38%;height:22%;aspect-ratio:auto;background:var(--burst-main);clip-path:polygon(0 42%,16% 26%,40% 58%,84% 0,100% 18%,40% 100%);animation:hit-check-draw .62s cubic-bezier(.16,.84,.2,1) both}.hit-burst.motif-check .hit-burst-spark{width:12%;height:12%;border-radius:50%;animation:hit-check-dot .62s ease-out both}.hit-burst.motif-star .hit-burst-ring{width:68%;border-style:dotted;animation:hit-star-halo .76s linear both}.hit-burst.motif-star .ring-two{width:42%;animation-direction:reverse}.hit-burst.motif-star .hit-burst-core,.hit-burst.motif-star .hit-burst-spark{clip-path:polygon(50% 0,60% 35%,85% 15%,65% 40%,100% 50%,65% 60%,85% 85%,60% 65%,50% 100%,40% 65%,15% 85%,35% 60%,0 50%,35% 40%,15% 15%,40% 35%)}.hit-burst.motif-star .hit-burst-core{width:31%;animation:hit-star-core .64s ease-out both}.hit-burst.motif-star .hit-burst-spark{width:12%;height:12%;border-radius:0;animation:hit-star-spark .76s ease-out both}.hit-burst.motif-spiral .hit-burst-ring{width:76%;border-width:clamp(5px,.7vmin,9px);border-style:dashed;border-color:var(--burst-main) transparent var(--burst-accent) transparent;box-shadow:none;animation:hit-spiral-ring .82s cubic-bezier(.18,.76,.22,1) both}.hit-burst.motif-spiral .ring-two{width:46%;animation-direction:reverse;animation-delay:30ms}.hit-burst.motif-spiral .hit-burst-core{width:15%;border-radius:50%;clip-path:none;animation:hit-spiral-core .7s ease-out both}.hit-burst.motif-spiral .hit-burst-spark{width:20%;height:20%;border:clamp(3px,.38vmin,6px) solid transparent;border-top-color:var(--burst-main);border-radius:50%;background:transparent;animation:hit-spiral-arc .76s ease-out both}.hit-burst.motif-hex .hit-burst-ring{width:72%;border:0;border-radius:0;background:color-mix(in srgb,var(--burst-main) 56%,transparent);box-shadow:none;clip-path:polygon(25% 7%,75% 7%,100% 50%,75% 93%,25% 93%,0 50%,5% 50%,28% 13%,72% 13%,95% 50%,72% 87%,28% 87%,5% 50%);animation:hit-hex-frame .76s cubic-bezier(.16,.78,.22,1) both}.hit-burst.motif-hex .ring-two{width:46%;background:color-mix(in srgb,var(--burst-accent) 72%,transparent);animation-delay:55ms;animation-direction:reverse}.hit-burst.motif-hex .hit-burst-core,.hit-burst.motif-hex .hit-burst-spark{border-radius:0;clip-path:polygon(25% 7%,75% 7%,100% 50%,75% 93%,25% 93%,0 50%)}.hit-burst.motif-hex .hit-burst-core{width:23%;animation:hit-hex-core .62s ease-out both}.hit-burst.motif-hex .hit-burst-spark{width:11%;height:11%;animation:hit-hex-chip .72s ease-out both}.hit-burst.motif-impact .hit-burst-ring{width:94%;border-width:clamp(7px,1vmin,14px);animation:hit-impact-wave .72s cubic-bezier(.1,.68,.18,1) both}.hit-burst.motif-impact .ring-two{width:58%;border-style:solid;animation-delay:28ms}.hit-burst.motif-impact .hit-burst-core{width:38%;clip-path:polygon(50% 0,61% 29%,88% 12%,72% 39%,100% 50%,70% 61%,88% 88%,60% 72%,50% 100%,39% 71%,12% 88%,28% 60%,0 50%,30% 39%,12% 12%,40% 29%);animation:hit-impact-core .56s cubic-bezier(.1,.78,.2,1) both}.hit-burst.motif-impact .hit-burst-spark{width:48%;height:clamp(6px,.7vmin,11px);border-radius:0;clip-path:polygon(0 34%,100% 0,88% 100%);animation:hit-impact-ray .7s cubic-bezier(.12,.72,.18,1) both}@keyframes hit-orbit-ring{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(-70deg)}22%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1.14) rotate(115deg)}}@keyframes hit-orbit-core{0%{opacity:0;transform:translate(-50%,-50%) scale(.1)}30%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}to{opacity:0;transform:translate(-50%,-50%) scale(.45)}}@keyframes hit-orbit-satellite{0%{opacity:0;transform:rotate(var(--spark-angle)) translate(40%) scale(.2)}24%{opacity:1}to{opacity:0;transform:rotate(calc(var(--spark-angle) + 150deg)) translate(380%) scale(.9)}}@keyframes hit-ribbon-loop{0%{opacity:0;transform:translate(-50%,-50%) scaleX(.16) rotate(-18deg)}24%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scaleX(1.2) rotate(22deg)}}@keyframes hit-ribbon-sweep{0%{opacity:0;transform:translate(-70%,-50%) scaleX(.08) skew(-30deg)}24%{opacity:1;transform:translate(-50%,-50%) scaleX(1) skew(-12deg)}to{opacity:0;transform:translate(-22%,-50%) scaleX(.58) skew(16deg)}}@keyframes hit-ribbon-tail{0%{opacity:0;transform:rotate(var(--spark-angle)) translate(5%) scaleX(.08) skew(-24deg)}26%{opacity:.86}to{opacity:0;transform:rotate(calc(var(--spark-angle) + 34deg)) translate(114%) scaleX(1.1) skew(18deg)}}@keyframes hit-diamond-ring{0%{opacity:0;transform:translate(-50%,-50%) scale(.08) rotate(0)}24%{opacity:1;transform:translate(-50%,-50%) scale(.72) rotate(45deg)}to{opacity:0;transform:translate(-50%,-50%) scale(1.24) rotate(135deg)}}@keyframes hit-diamond-core{0%{opacity:0;transform:translate(-50%,-50%) scale(.06) rotate(-45deg)}30%{opacity:1;transform:translate(-50%,-50%) scale(1.12) rotate(0)}to{opacity:0;transform:translate(-50%,-50%) scale(.32) rotate(45deg)}}@keyframes hit-diamond-shard{0%{opacity:0;transform:rotate(var(--spark-angle)) translate(8%) scale(.1)}22%{opacity:1}to{opacity:0;transform:rotate(var(--spark-angle)) translate(116%) scale(.78)}}@keyframes hit-petal-halo{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}26%{opacity:.9}to{opacity:0;transform:translate(-50%,-50%) scale(1.08)}}@keyframes hit-petal-core{0%{opacity:0;transform:translate(-50%,-50%) scale(.1)}28%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.48)}}@keyframes hit-petal-fly{0%{opacity:0;transform:rotate(var(--spark-angle)) translate(4%) scale(.12) rotate(0)}20%{opacity:.95}to{opacity:0;transform:rotate(calc(var(--spark-angle) + 22deg)) translate(98%) scale(.9) rotate(80deg)}}@keyframes hit-wave-ripple{0%{opacity:0;transform:translate(-50%,-50%) scaleX(.12) scaleY(.32)}22%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scaleX(1.18) scaleY(1.7)}}@keyframes hit-wave-line{0%{opacity:0;transform:translate(-50%,-50%) scaleX(.08)}28%{opacity:1;transform:translate(-50%,-50%) scaleX(1)}to{opacity:0;transform:translate(-50%,-50%) scaleX(.62)}}@keyframes hit-slash-main{0%{opacity:0;transform:translate(-76%,-20%) rotate(-24deg) scaleX(.06)}22%{opacity:1;transform:translate(-50%,-50%) rotate(-24deg) scaleX(1)}to{opacity:0;transform:translate(-24%,-80%) rotate(-24deg) scaleX(.48)}}@keyframes hit-slash-streak{0%{opacity:0;transform:rotate(-28deg) translate(-18%) scaleX(.08)}24%{opacity:.9}to{opacity:0;transform:rotate(-28deg) translate(128%) scaleX(1)}}@keyframes hit-lock-frame{0%{opacity:0;transform:translate(-50%,-50%) scale(.16)}32%{opacity:1;transform:translate(-50%,-50%) scale(.96)}58%{transform:translate(-50%,-50%) scale(.88)}to{opacity:0;transform:translate(-50%,-50%) scale(1.06)}}@keyframes hit-lock-key{0%{opacity:0;transform:translate(-50%,-65%) scale(.1)}34%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-42%) scale(.48)}}@keyframes hit-lock-chip{0%{opacity:0;transform:rotate(var(--spark-angle)) translate(12%) scale(.12)}30%{opacity:.9}to{opacity:0;transform:rotate(var(--spark-angle)) translate(92%) scale(.72) rotate(90deg)}}@keyframes hit-check-frame{0%{opacity:0;transform:translate(-50%,-50%) scale(.15) rotate(-12deg)}28%{opacity:1;transform:translate(-50%,-50%) scale(.94) rotate(3deg)}to{opacity:0;transform:translate(-50%,-50%) scale(1.12) rotate(8deg)}}@keyframes hit-check-draw{0%{opacity:0;transform:translate(-58%,-40%) scale(.08)}32%{opacity:1;transform:translate(-50%,-50%) scale(1.04)}to{opacity:0;transform:translate(-46%,-54%) scale(.76)}}@keyframes hit-check-dot{0%{opacity:0;transform:rotate(var(--spark-angle)) translate(12%) scale(.1)}24%{opacity:.9}to{opacity:0;transform:rotate(var(--spark-angle)) translate(82%) scale(.3)}}@keyframes hit-star-halo{0%{opacity:0;transform:translate(-50%,-50%) scale(.14) rotate(-30deg)}22%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1.16) rotate(120deg)}}@keyframes hit-star-core{0%{opacity:0;transform:translate(-50%,-50%) scale(.06) rotate(-40deg)}26%{opacity:1;transform:translate(-50%,-50%) scale(1.18) rotate(6deg)}to{opacity:0;transform:translate(-50%,-50%) scale(.42) rotate(48deg)}}@keyframes hit-star-spark{0%{opacity:0;transform:rotate(var(--spark-angle)) translate(8%) scale(.08)}24%{opacity:1}to{opacity:0;transform:rotate(var(--spark-angle)) translate(106%) scale(.66) rotate(90deg)}}@keyframes hit-spiral-ring{0%{opacity:0;transform:translate(-50%,-50%) scale(.12) rotate(-120deg)}25%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1.14) rotate(220deg)}}@keyframes hit-spiral-core{0%{opacity:0;transform:translate(-50%,-50%) scale(.08) rotate(0)}30%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(160deg)}to{opacity:0;transform:translate(-50%,-50%) scale(.3) rotate(420deg)}}@keyframes hit-spiral-arc{0%{opacity:0;transform:rotate(var(--spark-angle)) translate(8%) scale(.08)}22%{opacity:.95}to{opacity:0;transform:rotate(calc(var(--spark-angle) + 150deg)) translate(112%) scale(.8)}}@keyframes hit-hex-frame{0%{opacity:0;transform:translate(-50%,-50%) scale(.08) rotate(-30deg)}28%{opacity:.92;transform:translate(-50%,-50%) scale(.88) rotate(0)}to{opacity:0;transform:translate(-50%,-50%) scale(1.18) rotate(60deg)}}@keyframes hit-hex-core{0%{opacity:0;transform:translate(-50%,-50%) scale(.08) rotate(30deg)}30%{opacity:1;transform:translate(-50%,-50%) scale(1.06) rotate(0)}to{opacity:0;transform:translate(-50%,-50%) scale(.46) rotate(-30deg)}}@keyframes hit-hex-chip{0%{opacity:0;transform:rotate(var(--spark-angle)) translate(10%) scale(.08)}25%{opacity:.94}to{opacity:0;transform:rotate(var(--spark-angle)) translate(104%) scale(.68) rotate(60deg)}}@keyframes hit-impact-wave{0%{opacity:0;transform:translate(-50%,-50%) scale(.04)}18%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1.34)}}@keyframes hit-impact-core{0%{opacity:0;transform:translate(-50%,-50%) scale(.04) rotate(-18deg)}24%{opacity:1;transform:translate(-50%,-50%) scale(1.22) rotate(4deg)}to{opacity:0;transform:translate(-50%,-50%) scale(.34) rotate(22deg)}}@keyframes hit-impact-ray{0%{opacity:0;transform:rotate(var(--spark-angle)) translate(2%) scaleX(.05)}18%{opacity:1}to{opacity:0;transform:rotate(var(--spark-angle)) translate(132%) scaleX(1.08)}}.takoyaki-stage.is-energy .stage-sign-layer{filter:saturate(.98) contrast(1.01)}.takoyaki-stage.is-calm .takoyaki-character{filter:saturate(.92) contrast(.97) drop-shadow(0 22px 30px rgba(20,28,34,.14))}.takoyaki-stage.is-calm .stage-sign-layer.is-entering[class*=motif-]{animation-duration:.22s,var(--sign-cycle, 4.628571s);filter:saturate(.74) contrast(.92) brightness(.98)}.takoyaki-stage.is-calm[data-pack=glass]{--sign-cycle: 4.628571s}.takoyaki-stage.is-calm[data-pack=lofi],.takoyaki-stage.is-calm[data-pack=dream]{--sign-cycle: 9.257143s}.takoyaki-stage.is-calm[data-pack=pulse]{--sign-cycle: 2.314286s}.takoyaki-stage.is-calm .hit-burst{width:clamp(150px,24vmin,340px);filter:drop-shadow(0 0 10px var(--burst-shadow))}.takoyaki-stage.is-calm .contact-flash{width:clamp(42px,5vmin,76px);filter:saturate(.78)}.takoyaki-stage.is-hit .takoyaki-character{filter:saturate(1) contrast(1.01) drop-shadow(0 24px 34px rgba(165,45,56,.2))}.zone-guide{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));border:2px solid rgba(11,11,13,.42);opacity:0;pointer-events:none;transition:opacity .16s ease;transform:translate3d(var(--guide-beat-x, 0px),var(--guide-beat-y, 0px),0) scale(var(--guide-beat-scale, 1));transform-origin:50% 50%;will-change:transform}.zone-guide.is-visible{opacity:1}.takoyaki-stage.is-calm .zone-guide{border-color:#1d2f3729}.takoyaki-stage.is-energy .zone-guide{border-color:rgba(11,11,13,var(--guide-line-alpha, .42))}.takoyaki-stage.is-calm .zone-cell{border-color:#1d2f3729;background:#d7e6e805;color:#24333b;text-shadow:none}.takoyaki-stage.is-energy .zone-cell{border-color:rgba(11,11,13,var(--guide-line-alpha, .42))}.zone-cell{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:clamp(7px,1.1vw,16px);border-right:1px solid rgba(11,11,13,.42);border-bottom:1px solid rgba(11,11,13,.42);color:#0b0b0d;background:#d7e6e80b;text-shadow:0 1px 0 rgba(255,255,255,.75);transition:background .1s ease,box-shadow .1s ease}.zone-cell:nth-child(4n){border-right:0}.zone-cell:nth-child(n+9){border-bottom:0}.zone-cell span,.zone-cell strong{display:inline-block;padding:4px 6px;background:#d7e6e8f0;clip-path:polygon(4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%,0 4px);transform:translate3d(var(--guide-label-x, 0px),var(--guide-label-y, 0px),0) scale(var(--guide-label-scale, 1));transform-origin:50% 100%;will-change:transform}.takoyaki-stage.is-calm .zone-cell span,.takoyaki-stage.is-calm .zone-cell strong{background:#e1eff1b8}.takoyaki-stage.is-calm .zone-cell span{opacity:.62}.takoyaki-stage.is-calm .zone-cell strong{opacity:.68}.zone-cell span{font-size:clamp(9px,.9vw,13px);font-weight:900;letter-spacing:.12em}.zone-cell strong{overflow:hidden;font-size:clamp(8px,.75vw,11px);font-weight:900;letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap}.takoyaki-stage.is-hit[data-zone="0"] .zone-cell:nth-child(1),.takoyaki-stage.is-hit[data-zone="1"] .zone-cell:nth-child(2),.takoyaki-stage.is-hit[data-zone="2"] .zone-cell:nth-child(3),.takoyaki-stage.is-hit[data-zone="3"] .zone-cell:nth-child(4),.takoyaki-stage.is-hit[data-zone="4"] .zone-cell:nth-child(5),.takoyaki-stage.is-hit[data-zone="5"] .zone-cell:nth-child(6),.takoyaki-stage.is-hit[data-zone="6"] .zone-cell:nth-child(7),.takoyaki-stage.is-hit[data-zone="7"] .zone-cell:nth-child(8),.takoyaki-stage.is-hit[data-zone="8"] .zone-cell:nth-child(9),.takoyaki-stage.is-hit[data-zone="9"] .zone-cell:nth-child(10),.takoyaki-stage.is-hit[data-zone="10"] .zone-cell:nth-child(11),.takoyaki-stage.is-hit[data-zone="11"] .zone-cell:nth-child(12){background:#db151f2e;box-shadow:inset 0 0 0 3px #db151feb}.takoyaki-stage.is-calm.is-hit[data-zone] .zone-cell span,.takoyaki-stage.is-calm.is-hit[data-zone] .zone-cell strong{opacity:.88}.takoyaki-stage.is-calm.is-hit[data-zone="0"] .zone-cell:nth-child(1),.takoyaki-stage.is-calm.is-hit[data-zone="1"] .zone-cell:nth-child(2),.takoyaki-stage.is-calm.is-hit[data-zone="2"] .zone-cell:nth-child(3),.takoyaki-stage.is-calm.is-hit[data-zone="3"] .zone-cell:nth-child(4),.takoyaki-stage.is-calm.is-hit[data-zone="4"] .zone-cell:nth-child(5),.takoyaki-stage.is-calm.is-hit[data-zone="5"] .zone-cell:nth-child(6),.takoyaki-stage.is-calm.is-hit[data-zone="6"] .zone-cell:nth-child(7),.takoyaki-stage.is-calm.is-hit[data-zone="7"] .zone-cell:nth-child(8),.takoyaki-stage.is-calm.is-hit[data-zone="8"] .zone-cell:nth-child(9),.takoyaki-stage.is-calm.is-hit[data-zone="9"] .zone-cell:nth-child(10),.takoyaki-stage.is-calm.is-hit[data-zone="10"] .zone-cell:nth-child(11),.takoyaki-stage.is-calm.is-hit[data-zone="11"] .zone-cell:nth-child(12){background:#a52d381a;box-shadow:inset 0 0 0 2px #a52d3880}.start-gate{position:absolute;left:50%;top:50%;z-index:8;display:grid;grid-template-columns:34px auto;align-items:center;column-gap:12px;min-width:min(390px,calc(100vw - 36px));padding:18px 22px 16px;border:2px solid #0b0b0d;color:#0b0b0d;background:#d7e6e8f5;box-shadow:10px 10px #cc101ae6;font-family:Arial Narrow,Helvetica Neue,Arial,sans-serif;text-align:left;cursor:pointer;transform:translate(-50%,-50%) rotate(-1deg);clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)}.takoyaki-stage.is-calm .start-gate{border-color:#24333b;color:#24333b;background:#e5f1f3f7;box-shadow:8px 8px #a52d3875}.start-gate:hover{color:#cc101a;transform:translate(-50%,calc(-50% - 3px)) rotate(-1deg)}.start-gate:focus-visible{outline:4px solid #ffffff;outline-offset:4px}.start-gate:disabled{cursor:wait;opacity:.82}.start-gate svg{grid-column:1;grid-row:1 / 3;width:34px;height:34px}.start-gate strong{grid-column:2;font:italic 900 clamp(24px,4vw,38px)/.95 Impact,Haettenschweiler,sans-serif;letter-spacing:.015em}.start-gate span{grid-column:2;margin-top:6px;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.control-dock{position:absolute;z-index:6;top:16px;left:50%;display:grid;grid-template-columns:auto auto;align-items:center;gap:5px 12px;min-width:min(570px,calc(100vw - 300px));padding:8px 9px 9px 12px;border:1px solid rgba(11,11,13,.34);color:#0b0b0d;background:#d7e6e8e0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transform:translate(-50%);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.takoyaki-stage.is-calm .control-dock{border-color:#24333b33;color:#24333b;background:#e5f1f3d1}.control-kicker{grid-column:1 / -1;font-size:9px;font-weight:900;letter-spacing:.18em;opacity:.64}.pack-switch{display:flex;align-items:center;gap:3px}.pack-switch button,.mode-toggle{min-height:31px;padding:7px 10px 6px;border:1px solid transparent;color:inherit;background:transparent;font:900 10px/1 Arial Narrow,Arial,sans-serif;letter-spacing:.09em;cursor:pointer}.pack-switch button:hover,.pack-switch button:focus-visible,.pack-switch button.is-selected,.mode-toggle:hover,.mode-toggle:focus-visible{border-color:#0b0b0d9e;background:#ffffff8f}.pack-switch button.is-selected{color:#fff;background:#a52d38;border-color:#a52d38}.mode-toggle{min-width:104px;border-left-color:#0b0b0d3d}.mode-toggle strong{color:#a52d38}.pack-switch button:focus-visible,.mode-toggle:focus-visible{outline:3px solid #a52d38;outline-offset:2px}.audio-toggles{position:absolute;z-index:6;top:clamp(18px,3.2vh,42px);right:14px;display:grid;width:150px;gap:6px}.audio-channel{overflow:hidden;background:#d7e6e8f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.sound-toggle{position:relative;display:grid;grid-template-columns:auto 22px;grid-template-rows:auto auto;align-items:center;column-gap:7px;width:100%;min-width:0;padding:7px 8px 5px 12px;border:0;background:transparent;color:#0b0b0d;font:900 13px/1 Arial Narrow,Arial,sans-serif;letter-spacing:.04em;text-align:right;cursor:pointer;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);transition:transform .12s ease,color .12s ease}.sound-toggle>*{opacity:1;transition:opacity .12s ease}.audio-toggles .sound-toggle,.sound-toggle:hover,.sound-toggle:focus-visible,.sound-toggle.is-muted{background:transparent}.sound-toggle:hover>*,.sound-toggle:focus-visible>*,.sound-toggle.is-muted>*{opacity:1}.sound-toggle svg{grid-column:2;grid-row:1;width:22px;height:22px}.sound-toggle span{grid-column:1;grid-row:1}.sound-toggle strong{grid-column:1 / 3;grid-row:2;color:#cc101a;font-size:11px;letter-spacing:.14em}.sound-toggle:hover,.sound-toggle:focus-visible{transform:translateY(-2px) rotate(-1deg)}.sound-toggle:focus-visible{outline:3px solid #cc101a;outline-offset:3px}.sound-toggle.is-muted{color:#cc101a}.volume-control{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:7px;padding:0 9px 8px 11px}.volume-control input{width:100%;min-width:0;margin:0;accent-color:#a52d38;cursor:ew-resize}.volume-control output{color:#0b0b0db8;font-size:9px;font-weight:900;letter-spacing:.04em;text-align:right}.guide-toggle{position:absolute;right:18px;bottom:18px;z-index:6;min-width:110px;min-height:42px;padding:9px 11px 8px;border:1px solid rgba(11,11,13,.8);color:#0b0b0d;background:#d7e6e8f0;font:900 11px/1 Arial Narrow,Arial,sans-serif;letter-spacing:.1em;cursor:pointer;clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px)}.guide-toggle strong{color:#cc101a}.guide-toggle:focus-visible{outline:3px solid #cc101a;outline-offset:3px}.input-readout{position:absolute;z-index:5;left:clamp(18px,3vw,46px);bottom:clamp(16px,2.6vh,34px);padding-left:34px;color:#0b0b0db3;font-size:11px;font-weight:900;letter-spacing:.22em;text-transform:uppercase}.input-readout:before{content:"";position:absolute;left:0;top:50%;width:24px;height:3px;background:#cc101a;transform:translateY(-50%) skew(-30deg)}.creator-mark{position:absolute;z-index:5;right:clamp(18px,3vw,46px);bottom:clamp(16px,2.6vh,34px);display:grid;justify-items:end;gap:3px;padding-left:54px;color:#172329c2;line-height:1;opacity:var(--creator-alpha, .8);pointer-events:none;text-align:right;text-shadow:0 1px 0 rgba(255,255,255,.7);translate:var(--creator-beat-x, 0) var(--creator-beat-y, 0);rotate:var(--creator-beat-rotate, 0deg);scale:var(--creator-beat-scale, 1);transform-origin:right bottom;will-change:translate,rotate,scale,opacity}.creator-mark:before{position:absolute;left:0;top:50%;width:40px;height:3px;background:var(--creator-accent, #a52d38);box-shadow:0 0 var(--creator-glow, 4px) var(--creator-flare, rgba(165, 45, 56, .38));content:"";transform:translateY(-50%) skew(-30deg) scaleX(var(--creator-line-scale, .78));transform-origin:right center}.creator-mark span{position:relative;font:900 9px/1 Arial Narrow,Arial,sans-serif;letter-spacing:.38em;transform:translate(-1px)}.creator-mark strong{position:relative;isolation:isolate;color:var(--creator-accent, #a52d38);font:italic 900 clamp(24px,2.4vw,38px)/.9 Georgia,serif;letter-spacing:.08em;text-shadow:0 1px 0 rgba(255,255,255,.85),0 0 var(--creator-glow, 4px) var(--creator-flare, rgba(165, 45, 56, .3))}.creator-mark strong:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;color:transparent;content:attr(data-text);opacity:var(--creator-echo, .18);transform:translate3d(-3px,2px,0);-webkit-text-stroke:1px var(--creator-flare-solid, #d56a73)}.takoyaki-stage[data-pack=glass] .creator-mark{--creator-flare: rgba(100, 225, 215, .56);--creator-flare-solid: #5fcfc8}.takoyaki-stage[data-pack=lofi] .creator-mark{--creator-flare: rgba(229, 172, 106, .52);--creator-flare-solid: #d69a5b}.takoyaki-stage[data-pack=dream] .creator-mark{--creator-flare: rgba(161, 139, 225, .55);--creator-flare-solid: #a18be1}.takoyaki-stage[data-pack=pulse] .creator-mark{--creator-flare: rgba(255, 81, 96, .58);--creator-flare-solid: #ed4453}.takoyaki-stage.is-hit .creator-mark strong{animation:creator-mark-hit 205ms cubic-bezier(.16,.88,.24,1) both}@keyframes creator-mark-hit{0%{transform:scale(1);letter-spacing:.08em}34%{transform:translate3d(-2px,-1px,0) scale(1.075);letter-spacing:.105em}to{transform:scale(1);letter-spacing:.08em}}.mobile-wordmark,.mobile-instruction{display:none}.quick-audio{position:absolute;z-index:7;top:18px;left:18px;display:flex;gap:8px;transform:none}.quick-audio-button,.settings-launch{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:9px 13px;border:1px solid rgba(36,51,59,.46);color:#24333b;background:#e8f2f4e0;box-shadow:0 10px 30px #1b2a3114;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);font:900 11px/1 Arial Narrow,Arial,sans-serif;letter-spacing:.08em;cursor:pointer;will-change:transform}.pack-switch button,.mode-toggle,.quick-audio-button,.settings-launch,.settings-header button,.settings-pack-grid button,.setting-switch-row{transition:translate .14s cubic-bezier(.2,.82,.24,1),scale .14s cubic-bezier(.2,.82,.24,1),filter .14s ease,color .14s ease,border-color .14s ease,background-color .14s ease,box-shadow .14s ease}.pack-switch button:hover,.mode-toggle:hover,.quick-audio-button:hover,.settings-launch:hover,.settings-header button:hover,.settings-pack-grid button:hover,.setting-switch-row:hover{translate:0 -3px;scale:1.045;filter:brightness(1.06) saturate(1.08);border-color:#a52d38b8;box-shadow:0 10px 24px #351b1f29}.pack-switch button:active,.mode-toggle:active,.quick-audio-button:active,.settings-launch:active,.settings-header button:active,.settings-pack-grid button:active,.setting-switch-row:active{translate:0 1px;scale:.965;filter:brightness(.97)}.quick-audio-button[data-channel=bgm]{transform:translate3d(var(--bgm-beat-x, 0px),var(--bgm-beat-y, 0px),0) rotate(var(--bgm-beat-rotate, 0deg)) scale(var(--bgm-beat-scale, 1))}.quick-audio-button[data-channel=hits]{transform:translate3d(var(--hits-beat-x, 0px),var(--hits-beat-y, 0px),0) rotate(var(--hits-beat-rotate, 0deg)) scale(var(--hits-beat-scale, 1))}.quick-audio-button svg,.settings-launch svg{width:20px;height:20px}.quick-audio-button.is-muted{color:#a52d38;border-color:#a52d386b;background:#f3e8e9e6}.quick-audio-button:focus-visible,.settings-launch:focus-visible,.settings-panel button:focus-visible,.settings-panel input:focus-visible{outline:3px solid #a52d38;outline-offset:3px}.settings-launch{position:absolute;z-index:10;top:18px;right:18px;transform:translate3d(var(--settings-beat-x, 0px),var(--settings-beat-y, 0px),0) rotate(var(--settings-beat-rotate, 0deg)) scale(var(--settings-beat-scale, 1));transform-origin:right center;will-change:transform}.settings-launch.is-open{opacity:0;pointer-events:none}.settings-panel{position:absolute;z-index:9;top:12px;right:12px;width:min(370px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:20px;border:1px solid rgba(36,51,59,.34);color:#24333b;background:#ebf4f5f5;box-shadow:0 24px 70px #15222838;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);opacity:0;pointer-events:none;transform:translate3d(26px,0,0) scale(.98);transform-origin:top right;transition:opacity .18s ease,transform .22s cubic-bezier(.2,.82,.24,1)}.settings-panel.is-open{opacity:1;pointer-events:auto;transform:translateZ(0) scale(1)}.settings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:4px 2px 16px;border-bottom:1px solid rgba(36,51,59,.18)}.settings-header span,.settings-section-title{display:block;font-size:9px;font-weight:900;letter-spacing:.2em;opacity:.6}.settings-header h2{margin:5px 0 0;font:italic 900 28px/.92 Impact,Haettenschweiler,sans-serif;letter-spacing:.04em}.settings-header button{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(36,51,59,.3);color:inherit;background:#ffffff8f;cursor:pointer;clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px)}.settings-section{display:grid;gap:8px;padding-top:18px}.settings-pack-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.settings-pack-grid button,.setting-switch-row{border:1px solid rgba(36,51,59,.26);color:inherit;background:#ffffff80;cursor:pointer;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.settings-pack-grid button{display:grid;gap:5px;min-height:58px;padding:10px 11px;text-align:left}.settings-pack-grid button strong{font:900 12px/1 Arial Narrow,Arial,sans-serif;letter-spacing:.08em}.settings-pack-grid button span{font-size:9px;font-weight:800;letter-spacing:.09em;opacity:.58}.settings-pack-grid button.is-selected,.setting-switch-row.is-selected{border-color:#a52d38;background:#a52d381a;box-shadow:inset 0 0 0 1px #a52d3838}.setting-switch-row{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;min-height:66px;padding:11px 12px 10px 14px;text-align:left}.setting-switch-row>span{display:grid;gap:5px}.setting-switch-row strong{font-size:12px;letter-spacing:.08em}.setting-switch-row small{font-size:10px;line-height:1.25;opacity:.64}.setting-switch-row i{flex:0 0 auto;display:flex;align-items:center;width:48px;height:28px;padding:4px;background:#24333b2e;clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px)}.setting-switch-row i b{width:20px;height:20px;background:#fff;box-shadow:0 1px 4px #24333b33;clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px);transform:translate(0);transition:transform .16s ease}.setting-switch-row.is-selected i{background:#a52d38}.setting-switch-row.is-selected i b{transform:translate(20px)}.settings-volume{display:grid;gap:9px;padding:10px 12px 12px;border:1px solid rgba(36,51,59,.18);background:#ffffff6b}.settings-volume>span{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.1em}.settings-volume output{font-weight:900;opacity:.62}.settings-volume input{width:100%;accent-color:#a52d38}.settings-status{display:flex;justify-content:space-between;gap:12px;margin-top:18px;padding-top:12px;border-top:1px solid rgba(36,51,59,.18);font-size:9px;font-weight:900;letter-spacing:.12em;opacity:.68}.settings-guide-row,.settings-language-row{width:100%;min-height:64px;border:1px solid rgba(36,51,59,.26);color:inherit;background:#ffffff80;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.settings-guide-row{display:flex;align-items:center;gap:12px;padding:11px 14px;text-align:left;cursor:pointer;transition:translate .14s cubic-bezier(.2,.82,.24,1),scale .14s cubic-bezier(.2,.82,.24,1),border-color .14s ease,background-color .14s ease,box-shadow .14s ease}.settings-guide-row:hover{translate:0 -2px;scale:1.015;border-color:#a52d38b8;background:#ffffffb3;box-shadow:0 9px 22px #351b1f1f}.settings-guide-row:active{translate:0 1px;scale:.985}.settings-guide-row:focus-visible,.settings-language-toggle button:focus-visible,.tutorial-card button:focus-visible{outline:3px solid #a52d38;outline-offset:3px}.settings-guide-row>svg{flex:0 0 auto;width:27px;height:27px;color:#a52d38}.settings-guide-row>span{display:grid;gap:5px}.settings-guide-row strong,.settings-language-row strong{font-size:12px;letter-spacing:.08em}.settings-guide-row small{font-size:10px;line-height:1.25;opacity:.64}.settings-language-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 10px 10px 14px}.settings-language-row>span{display:flex;align-items:center;gap:10px}.settings-language-row>span svg{width:24px;height:24px;color:#a52d38}.settings-language-toggle{display:flex;gap:4px;padding:3px;background:#24333b17}.settings-language-toggle button{min-width:45px;min-height:32px;padding:7px 9px;border:1px solid transparent;color:inherit;background:transparent;font:900 10px/1 Arial Narrow,Arial,sans-serif;letter-spacing:.07em;cursor:pointer}.settings-language-toggle button.is-selected{border-color:#a52d3870;color:#8f202b;background:#ffffffd1;box-shadow:0 2px 8px #24333b1a}.settings-launch.is-tutorial-target{outline:3px solid rgba(165,45,56,.88);outline-offset:5px;box-shadow:0 0 0 7px #e8f2f4b3,0 10px 30px #a52d3840}.tutorial-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));pointer-events:none}.tutorial-layer.is-welcome{align-items:center;justify-content:center;background:#0b0b0d6b;-webkit-backdrop-filter:blur(7px) saturate(.82);backdrop-filter:blur(7px) saturate(.82);pointer-events:auto}.tutorial-layer.is-coach{align-items:flex-end;justify-content:flex-start;padding-bottom:max(28px,env(safe-area-inset-bottom))}.tutorial-card{position:relative;width:min(520px,calc(100vw - 36px));max-height:calc(100dvh - 36px);overflow:auto;padding:clamp(18px,3vw,28px);border:1px solid rgba(36,51,59,.48);color:#18272e;background:#ebf4f5f7;box-shadow:10px 10px #a52d38e0,0 28px 80px #08121847;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);clip-path:polygon(15px 0,100% 0,100% calc(100% - 15px),calc(100% - 15px) 100%,0 100%,0 15px);pointer-events:auto;touch-action:pan-y;cursor:default}.is-coach .tutorial-card{width:min(470px,calc(100vw - 36px));padding:18px 20px 19px;box-shadow:7px 7px #a52d38d6,0 18px 55px #08121838}.tutorial-card-topline,.tutorial-utilities,.tutorial-actions{display:flex;align-items:center}.tutorial-card-topline{justify-content:space-between;gap:16px;padding-bottom:13px;border-bottom:1px solid rgba(36,51,59,.18)}.tutorial-utilities,.tutorial-actions{gap:8px}.tutorial-progress{font-size:10px;font-weight:900;letter-spacing:.2em;opacity:.62}.tutorial-language,.tutorial-skip{min-height:34px;border:1px solid rgba(36,51,59,.26);color:inherit;background:#ffffff7a;font-size:10px;font-weight:900;cursor:pointer}.tutorial-language{min-width:48px;padding:7px 10px}.tutorial-skip{display:flex;align-items:center;gap:6px;padding:7px 9px 7px 11px}.tutorial-skip svg{width:14px;height:14px}.tutorial-content{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(14px,2.5vw,21px);align-items:start;padding:clamp(18px,3.2vw,26px) 0 16px}.tutorial-step-icon{display:grid;place-items:center;width:clamp(54px,9vw,70px);height:clamp(54px,9vw,70px);border:1px solid rgba(165,45,56,.42);color:#a52d38;background:#a52d3814;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)}.tutorial-step-icon svg{width:58%;height:58%}.tutorial-eyebrow{display:block;margin:1px 0 7px;color:#a52d38;font-size:9px;font-weight:900;letter-spacing:.19em}.tutorial-content h2{margin:0;font:italic 900 clamp(27px,4.5vw,42px)/.94 Impact,Haettenschweiler,"Arial Narrow",sans-serif;letter-spacing:.025em}.is-coach .tutorial-content h2{font-size:clamp(25px,3.5vw,34px)}.tutorial-content p{max-width:46ch;margin:11px 0 0;font-size:13px;font-weight:700;line-height:1.52;letter-spacing:.015em}.tutorial-hint{display:flex;align-items:center;gap:10px;min-height:38px;padding:9px 11px;color:#18272eb8;background:#24333b12;font-size:11px;font-weight:800;line-height:1.32}.tutorial-hint i{flex:0 0 auto;width:18px;height:3px;background:#a52d38;transform:skew(-30deg)}.tutorial-actions{justify-content:flex-end;flex-wrap:wrap;margin-top:16px}.tutorial-primary,.tutorial-secondary{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:12px 16px;border:1px solid #8f202b;font-size:11px;font-weight:900;letter-spacing:.1em;cursor:pointer;transition:translate .14s ease,scale .14s ease,box-shadow .14s ease}.tutorial-primary{color:#fff;background:#a52d38;box-shadow:4px 4px #18272e}.tutorial-secondary{color:#18272e;background:#ffffffb8}.tutorial-primary:hover,.tutorial-secondary:hover{translate:0 -2px;scale:1.02}.tutorial-primary:active,.tutorial-secondary:active{translate:0 1px;scale:.98}.tutorial-primary svg{width:18px;height:18px}.tutorial-primary:disabled{opacity:.62;cursor:wait;translate:none;scale:1}.tutorial-step-skip{border-color:#24333b52;color:#18272eb3;background:#ffffff80;box-shadow:none}.takoyaki-stage[lang=zh-CN] .tutorial-progress,.takoyaki-stage[lang=zh-CN] .tutorial-eyebrow,.takoyaki-stage[lang=zh-CN] .tutorial-primary,.takoyaki-stage[lang=zh-CN] .tutorial-secondary,.takoyaki-stage[lang=zh-CN] .settings-section-title,.takoyaki-stage[lang=zh-CN] .settings-guide-row strong,.takoyaki-stage[lang=zh-CN] .settings-language-row strong{letter-spacing:.06em}.takoyaki-stage[lang=zh-CN] .tutorial-content h2,.takoyaki-stage[lang=zh-CN] .settings-header h2{font-family:Microsoft YaHei UI,PingFang SC,Noto Sans CJK SC,sans-serif;font-style:normal;letter-spacing:.01em}.takoyaki-stage[lang=zh-CN] .tutorial-content p,.takoyaki-stage[lang=zh-CN] .tutorial-hint,.takoyaki-stage[lang=zh-CN] .setting-switch-row small,.takoyaki-stage[lang=zh-CN] .settings-guide-row small{letter-spacing:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-aspect-ratio:3 / 2){.audio-toggles{right:18px}.sound-toggle{min-width:112px;background:#d7e6e8f0}.sound-toggle>*{opacity:1}}@media(max-width:760px){.control-dock{top:76px;left:12px;right:12px;width:auto;min-width:0;grid-template-columns:minmax(0,1fr) auto;padding:7px 8px 8px 10px;transform:none}.pack-switch{min-width:0;overflow-x:auto;scrollbar-width:none}.pack-switch::-webkit-scrollbar{display:none}.pack-switch button,.mode-toggle{flex:0 0 auto;min-height:34px;padding-inline:9px;font-size:9px}.mode-toggle{min-width:88px}}@media(max-aspect-ratio:4 / 5){.stage-background,.stage-sign-layer,.takoyaki-character{object-position:50% 50%}.mobile-wordmark{display:block;position:absolute;z-index:5;top:82px;left:20px;max-width:52vw;color:#111114;font:italic 900 clamp(27px,10vw,44px)/.88 Impact,Haettenschweiler,sans-serif;letter-spacing:-.045em;text-shadow:3px 3px 0 #d91821;transform:rotate(-4deg)}.audio-toggles{top:152px;right:14px}.sound-toggle{min-width:112px;padding:6px 7px 5px 9px;font-size:11px;background:#d7e6e8f0}.sound-toggle>*{opacity:1}.mobile-instruction{display:block;position:absolute;z-index:6;left:0;bottom:0;width:100%;max-width:none;padding:19px 12px 16px;color:#fff;background:#0b0b0de6;font-size:clamp(9px,2.8vw,12px);font-weight:800;letter-spacing:.22em;text-align:center;transform:none}.input-readout{left:18px;bottom:64px;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.6)}.creator-mark{right:14px;bottom:64px;padding-left:30px;color:#ffffffd1;text-shadow:0 1px 4px rgba(0,0,0,.55)}.creator-mark:before{width:20px}.creator-mark strong{color:#ff5f67;font-size:17px}.zone-cell{align-items:center;padding:6px}.zone-cell strong{max-width:calc(100% - 4px);padding:3px 4px;font-size:clamp(6px,1.65vw,8px);letter-spacing:.025em}.guide-toggle{right:14px;bottom:62px;min-width:94px;min-height:44px;padding:8px 9px 7px;font-size:10px}.start-gate{grid-template-columns:28px auto;column-gap:10px;padding:15px 16px 14px;box-shadow:7px 7px #cc101ae6}.start-gate svg{width:28px;height:28px}.start-gate strong{font-size:clamp(23px,8.4vw,34px)}.start-gate span{font-size:9px}}@media(max-width:520px){.quick-audio,.settings-launch{top:12px}.quick-audio{left:12px;gap:6px}.settings-launch{right:12px}.quick-audio-button,.settings-launch{min-width:44px;padding-inline:10px}.quick-audio-button span,.settings-launch span{display:none}.settings-panel{top:8px;right:8px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:16px}.settings-pack-grid{grid-template-columns:1fr 1fr}.tutorial-layer{padding:max(10px,env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.tutorial-layer.is-coach{padding-bottom:max(64px,calc(52px + env(safe-area-inset-bottom)))}.tutorial-card,.is-coach .tutorial-card{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:15px 16px 17px;box-shadow:5px 5px #a52d38e0,0 18px 48px #0812183d}.is-coach .tutorial-card{max-height:min(196px,calc(100dvh - 84px));padding:10px 12px 12px}.tutorial-card-topline{padding-bottom:10px}.tutorial-progress{font-size:8px;letter-spacing:.13em}.tutorial-language,.tutorial-skip{min-height:32px;font-size:9px}.tutorial-content,.is-coach .tutorial-content{grid-template-columns:46px minmax(0,1fr);gap:12px;padding:15px 0 12px}.is-coach .tutorial-content{display:block;padding:8px 0 7px}.is-coach .tutorial-step-icon,.is-coach .tutorial-eyebrow,.is-coach .tutorial-hint{display:none}.tutorial-step-icon{width:46px;height:46px}.tutorial-eyebrow{margin-bottom:5px;font-size:8px;letter-spacing:.12em}.tutorial-content h2,.is-coach .tutorial-content h2{font-size:clamp(23px,7vw,29px)}.is-coach .tutorial-content h2{font-size:clamp(21px,6.4vw,26px)}.tutorial-content p{margin-top:8px;font-size:11px;line-height:1.42}.is-coach .tutorial-content p{display:-webkit-box;margin-top:5px;overflow:hidden;font-size:10px;line-height:1.32;-webkit-box-orient:vertical;-webkit-line-clamp:4}.tutorial-hint{min-height:34px;padding:7px 9px;font-size:9px}.tutorial-actions{margin-top:12px}.is-coach .tutorial-actions{margin-top:6px}.tutorial-primary,.tutorial-secondary{min-height:42px;padding:10px 13px;font-size:10px}.is-coach .tutorial-primary,.is-coach .tutorial-secondary{min-height:34px;padding:7px 10px;font-size:9px}.settings-language-row{align-items:flex-start;flex-direction:column}.settings-language-toggle{width:100%}.settings-language-toggle button{flex:1}}@media(max-aspect-ratio:4 / 5){.takoyaki-stage:before{opacity:.52;filter:blur(26px) saturate(.68) contrast(.94)}.character-beat-wrapper{--portrait-motion-bleed: clamp(30px, calc(18px + 1.5dvh) , 42px);inset:calc(-1 * var(--portrait-motion-bleed));width:auto;height:auto}.takoyaki-stage[data-pack=glass] .takoyaki-character{inset:clamp(64px,8dvh,82px) 0 54px;width:100%;height:auto;object-fit:contain;object-position:50% 50%;filter:drop-shadow(0 18px 24px rgba(20,28,34,.2))}.quick-audio,.settings-launch{top:max(12px,env(safe-area-inset-top))}.quick-audio{left:12px;gap:7px}.settings-launch{right:12px}.quick-audio-button,.settings-launch{min-width:48px;min-height:48px;padding:11px;border-color:#24333b94;background:#ebf4f5e8;box-shadow:0 8px 24px #1b2a3121}.quick-audio-button svg,.settings-launch svg{width:23px;height:23px}.mobile-wordmark{top:clamp(72px,9dvh,92px);left:50%;max-width:calc(100vw - 48px);color:#111114;font-size:clamp(25px,8vw,34px);letter-spacing:-.035em;text-shadow:3px 3px 0 #d91821;transform:translate(-50%) rotate(-3deg);white-space:nowrap}.start-gate{top:auto;bottom:max(86px,calc(68px + env(safe-area-inset-bottom)));width:calc(100vw - 28px);min-width:0;max-width:430px;grid-template-columns:30px minmax(0,1fr);column-gap:11px;padding:15px 16px 14px;background:#e5f1f3f0;box-shadow:6px 6px #cc101ad6;transform:translate(-50%) rotate(-.7deg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.start-gate:hover{transform:translate(-50%,-2px) rotate(-.7deg)}.start-gate strong{font-size:clamp(25px,8.2vw,34px)}.start-gate span{margin-top:5px;font-size:clamp(8px,2.45vw,10px);line-height:1.28;letter-spacing:.085em}.mobile-instruction{padding:15px 12px max(14px,env(safe-area-inset-bottom));background:#0b0b0deb;font-size:clamp(9px,2.55vw,11px);letter-spacing:.19em;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.creator-mark{display:none}.input-readout{left:50%;bottom:max(58px,calc(46px + env(safe-area-inset-bottom)));max-width:calc(100vw - 32px);padding:7px 10px;overflow:hidden;color:#ffffffe6;background:#0b0b0d99;text-overflow:ellipsis;text-shadow:none;transform:translate(-50%);white-space:nowrap}.input-readout:before{display:none}.settings-panel{top:8px;right:8px;bottom:8px;left:8px;width:auto;max-height:calc(100dvh - 16px);padding:18px 16px 20px;overscroll-behavior:contain}}@media(prefers-reduced-motion:reduce){.contact-flash,.hit-burst{display:none}.sound-toggle{transition:none}.stage-sign-layer,.stage-background,.zone-guide,.zone-cell span,.zone-cell strong,.character-beat-wrapper,.character-hit-layer,.quick-audio,.quick-audio-button,.settings-launch,.settings-panel,.creator-mark,.tutorial-card,.tutorial-card button,.settings-guide-row{transform:none;transition:none}.creator-mark{opacity:.84;translate:none;rotate:none;scale:1}.creator-mark:before{box-shadow:none;transform:translateY(-50%) skew(-30deg)}.tutorial-card button,.settings-guide-row{translate:none;scale:1}.creator-mark strong,.creator-mark strong:after,.takoyaki-stage.is-hit .creator-mark strong{animation:none;transform:none}.creator-mark strong:after{display:none}.stage-sign-layer{animation:none}}
