@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static{position:static}.start{inset-inline-start:var(--spacing)}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}}:root{--ink:#f8f6e9;--acid:#d9ff53;--panel:#131816;--line:#ffffff1f}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#080c0b}body{color:var(--ink);background:#080c0b;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,PingFang SC,sans-serif}button,a{font:inherit}button{color:inherit}.game{background:radial-gradient(circle at 50% 20%,#1d342b 0,#0a100e 42%,#050807 100%);min-height:100vh;overflow:hidden}.topbar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#070b09bf;align-items:center;gap:28px;height:82px;padding:0 clamp(22px,4vw,64px);display:flex;position:relative}.brand{color:inherit;align-items:center;gap:12px;margin-right:auto;text-decoration:none;display:flex}.brand-mark{object-fit:cover;border:1px solid #fff3;border-radius:13px;width:46px;height:46px;display:block;box-shadow:0 0 30px #1ce2b733}.brand b,.brand small{display:block}.brand b{letter-spacing:.14em;font-size:14px}.brand small{color:#8e9993;letter-spacing:.1em;margin-top:2px;font-size:10px}.midi-status{color:#9ba69f;letter-spacing:.08em;align-items:center;gap:8px;font-size:11px;display:flex}.midi-status i{background:#71efaa;border-radius:50%;width:7px;height:7px;box-shadow:0 0 12px #71efaa}.connect,.bgm-toggle{color:var(--acid);cursor:pointer;background:#d9ff5312;border:1px solid #d9ff536b;border-radius:999px;padding:11px 16px;font-size:12px;font-weight:800}.bgm-toggle{color:#89958e;background:#ffffff09;border-color:#ffffff2e}.bgm-toggle.active{color:#43e6b0;border-color:#43e6b0;box-shadow:0 0 22px #43e6b024}.arena{isolation:isolate;border-bottom:1px solid var(--line);background:linear-gradient(#152d228a,#060c0959),repeating-linear-gradient(90deg,#0000 0 99px,#ffffff05 100px);min-height:690px;position:relative;overflow:hidden}.arena:before{z-index:-2;content:"";opacity:.35;background-image:radial-gradient(circle at 20% 30%,#78ca9055 0 1px,#0000 2px),radial-gradient(circle at 76% 20%,#d9ff5350 0 1px,#0000 2px);background-size:72px 72px,94px 94px;position:absolute;inset:0}.hud{z-index:5;gap:35px;display:flex;position:absolute;top:30px;left:clamp(22px,4vw,64px);right:clamp(22px,4vw,64px)}.hud div{min-width:90px}.hud small,.hud strong{display:block}.hud small{color:#728078;letter-spacing:.2em;font-size:9px}.hud strong{margin-top:2px;font:900 24px/1 ui-monospace,SFMono-Regular,monospace}.hud .combo strong{color:var(--acid)}.sky-glow{filter:blur(80px);opacity:.14;border-radius:50%;width:440px;height:440px;position:absolute}.glow-one{background:#43e6a4;top:130px;left:-160px}.glow-two{background:#d9ff53;top:-120px;right:-120px}.leaf{color:#8fcd55;opacity:.35;font-size:25px;animation:6s ease-in-out infinite drift;position:absolute}.leaf-one{top:26%;left:16%}.leaf-two{animation-delay:-2s;top:18%;right:22%}.leaf-three{animation-delay:-4s;top:62%;right:10%}@keyframes drift{50%{transform:translate(20px,35px)rotate(100deg)}}.fruit-stage{z-index:3;opacity:.2;width:330px;height:410px;transition:opacity .25s;position:absolute;top:52%;left:50%;transform:translate(-50%,-45%)}.fruit-stage.playing{opacity:1}.fruit{filter:drop-shadow(0 38px 28px #0000007a)drop-shadow(0 0 28px #d9ff531f);place-items:center;width:270px;height:270px;font-family:Apple Color Emoji,Segoe UI Emoji,sans-serif;font-size:238px;line-height:1;display:grid;position:absolute;top:65px;left:31px}.fruit-stage.playing:not(.sliced) .fruit{animation:3.6s cubic-bezier(.22,.64,.35,1) forwards fruitFlight}.fruit:before,.fruit:after{content:none;display:none}.fruit-leaf{color:#87d553;text-shadow:0 8px 12px #0000004d;font-size:35px;position:absolute;top:-22px;left:54%;transform:rotate(22deg)scaleX(1.6)}.fruit-shine{filter:blur(2px);background:#ffffff3d;border-radius:50%;width:28px;height:56px;position:absolute;top:52px;left:50px;transform:rotate(35deg)}.fruit-orange,.fruit-lemon,.fruit-watermelon,.fruit-dragonfruit,.fruit-plum,.fruit-kiwi{background:0 0;border-radius:0}.chord-label{z-index:5;text-align:center;pointer-events:none;text-shadow:0 2px 14px #000000c7;place-content:center;width:248px;height:248px;display:grid;position:absolute;top:76px;left:42px}.chord-label small,.chord-label strong,.chord-label em{display:block}.chord-label small{letter-spacing:.25em;font-size:9px}.chord-label strong{letter-spacing:-.05em;font-size:56px;line-height:1}.chord-label em{margin-top:10px;font:700 11px/1 ui-monospace,monospace}@keyframes fruitFlight{0%{opacity:0;animation-timing-function:cubic-bezier(.18,.58,.34,1);transform:translate(92px,430px)rotate(-38deg)scale(.76)}7%{opacity:1}50%{opacity:1;animation-timing-function:cubic-bezier(.42,0,.88,.42);transform:translate(-10px,-210px)rotate(7deg)scale(1.03)}to{opacity:1;transform:translate(-112px,455px)rotate(62deg)scale(.88)}}.slash{z-index:6;opacity:0;width:350px;height:6px;box-shadow:0 0 18px #fff,0 0 50px var(--acid);background:#fff;border-radius:100%;position:absolute;top:190px;left:-8px;transform:rotate(-24deg)scaleX(.2)}.sliced .slash{animation:.52s ease-out slash}.sliced .fruit{animation:.16s ease-out forwards sliceFruit}.split-piece{--fruit:#ff6f45;z-index:4;opacity:0;background:radial-gradient(circle at 35% 28%,#ffffff6b,transparent 16%),radial-gradient(circle at 42% 42%,var(--fruit),var(--fruit) 62%,var(--fruit));border-radius:52% 48% 45% 55%/52% 52% 48% 48%;width:248px;height:248px;position:absolute;top:76px;left:42px}@supports (color:color-mix(in lab, red, red)){.split-piece{background:radial-gradient(circle at 35% 28%,#ffffff6b,transparent 16%),radial-gradient(circle at 42% 42%,color-mix(in srgb,var(--fruit),white 18%),var(--fruit) 62%,color-mix(in srgb,var(--fruit),black 32%))}}.split-piece{pointer-events:none;box-shadow:inset -20px -24px 42px #00000038,0 24px 44px #0000006b}.split-left{clip-path:polygon(0 0,54% 0,42% 100%,0 100%)}.split-right{clip-path:polygon(54% 0,100% 0,100% 100%,42% 100%)}.sliced .split-left{animation:.72s cubic-bezier(.2,.7,.35,1) forwards halfLeft}.sliced .split-right{animation:.72s cubic-bezier(.2,.7,.35,1) forwards halfRight}.juice-spray{z-index:5;pointer-events:none;position:absolute;inset:0}.juice-spray i{opacity:0;background:var(--acid);border-radius:50%;width:12px;height:12px;position:absolute;top:48%;left:50%}.sliced .juice-spray,.sliced .impact-ring{transform:var(--slice-transform)}.sliced .juice-spray i{animation:.55s ease-out spray}.sliced .juice-spray i:nth-child(2){--x:120px;--y:-100px}.sliced .juice-spray i:nth-child(3){--x:-130px;--y:-75px}.sliced .juice-spray i:nth-child(4){--x:90px;--y:90px}.sliced .juice-spray i:nth-child(5){--x:-100px;--y:110px}@keyframes slash{0%{transform:var(--slice-transform) rotate(-24deg) scaleX(.2)}30%{opacity:1;transform:var(--slice-transform) rotate(-24deg) scaleX(1)}to{opacity:0;transform:var(--slice-transform) rotate(-24deg) scaleX(1.25) translateX(50px)}}@keyframes sliceFruit{0%{transform:var(--slice-transform)}45%{filter:brightness(1.8);transform:var(--slice-transform) scale(1.08)}to{opacity:0;transform:var(--slice-transform) scale(1.24) rotate(16deg)}}@keyframes halfLeft{0%{opacity:1;transform:var(--slice-transform) translate(0,0) rotate(0) scale(1);animation-timing-function:cubic-bezier(.12,.58,.3,1)}42%{opacity:1;transform:var(--slice-transform) translate(-72px,-58px) rotate(-27deg) scale(.96);animation-timing-function:cubic-bezier(.45,0,.9,.42)}to{opacity:0;transform:var(--slice-transform) translate(-164px,235px) rotate(-104deg) scale(.82)}}@keyframes halfRight{0%{opacity:1;transform:var(--slice-transform) translate(0,0) rotate(0) scale(1);animation-timing-function:cubic-bezier(.12,.58,.3,1)}42%{opacity:1;transform:var(--slice-transform) translate(78px,-48px) rotate(31deg) scale(.96);animation-timing-function:cubic-bezier(.45,0,.9,.42)}to{opacity:0;transform:var(--slice-transform) translate(176px,224px) rotate(118deg) scale(.82)}}@keyframes spray{15%{opacity:1}to{opacity:0;transform:translate(var(--x,140px),var(--y,-130px)) scale(.2)}}.fruit,.split-piece{image-rendering:auto;filter:drop-shadow(0 24px 20px #00000061)saturate(1.08)contrast(1.03)}.split-piece{box-shadow:none;transform-origin:50% 52%;background:0 0;border-radius:0;place-items:center;font-family:Apple Color Emoji,Segoe UI Emoji,sans-serif;font-size:224px;line-height:1;display:grid}.sliced .chord-label{animation:.16s ease-out forwards sliceFruit}.ambient-particles{z-index:1;pointer-events:none;position:absolute;inset:0}.ambient-particles i{--size:3px;left:calc(4% + var(--particle) * 3.75%);top:calc(13% + var(--particle) * 2.65%);width:var(--size);height:var(--size);opacity:0;animation:particleDrift calc(3.2s + var(--particle) * 70ms) ease-in-out infinite alternate;background:#d9ff53;border-radius:50%;position:absolute;box-shadow:0 0 10px #d9ff53,0 0 24px #43e6b0bf}.ambient-particles i:nth-child(3n){--size:5px;background:#43e6b0;top:24%}.ambient-particles i:nth-child(4n){top:70%}.ambient-particles i:nth-child(5n){top:42%}.combo-tier-1 .ambient-particles i:nth-child(-n+8){opacity:.32}.combo-tier-2 .ambient-particles i:nth-child(-n+16){opacity:.48}.combo-tier-3 .ambient-particles i{opacity:.62}.combo-tier-1 .sky-glow{opacity:.2}.combo-tier-2 .sky-glow{opacity:.28}.combo-tier-3 .sky-glow{opacity:.36;filter:blur(65px)}@keyframes particleDrift{to{translate:18px -32px;scale:1.6}}.impact-ring{z-index:4;opacity:0;border:3px solid #ffffffe6;border-radius:50%;width:90px;height:90px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.3);box-shadow:0 0 25px #fff,0 0 70px #d9ff53}.sliced .impact-ring{animation:.52s ease-out impactRing}@keyframes impactRing{0%{transform:var(--slice-transform) translate(-50%,-50%) scale(.3)}18%{opacity:.9;transform:var(--slice-transform) translate(-50%,-50%) scale(.7)}to{opacity:0;transform:var(--slice-transform) translate(-50%,-50%) scale(3.2)}}.combo-burst{z-index:8;color:#fff;letter-spacing:.24em;text-align:center;pointer-events:none;text-shadow:0 0 12px #fff,0 0 35px #d9ff53;font:900 15px/1 ui-monospace,monospace;animation:.75s ease-out forwards comboBurst;position:absolute;top:25%;left:50%}.combo-burst strong{color:var(--acid);letter-spacing:-.08em;margin-top:6px;font-size:42px;display:block}@keyframes comboBurst{0%{opacity:0;transform:translate(-50%,25px)scale(.65)}22%{opacity:1;transform:translate(-50%)scale(1.08)}to{opacity:0;transform:translate(-50%,-42px)scale(1)}}.intro-card{z-index:6;width:min(520px,100% - 44px);position:absolute;top:155px;left:clamp(22px,6vw,90px)}.intro-card>span,.section-label{color:var(--acid);letter-spacing:.22em;font:800 10px/1 ui-monospace,monospace}.intro-card h1{letter-spacing:-.06em;margin:20px 0;font-size:clamp(38px,4.5vw,68px);line-height:.98}.intro-card h1,.intro-card h1 b{white-space:nowrap}.intro-card h1 b{color:var(--acid)}.intro-card p{color:#9ba69f;max-width:360px;font-size:14px;line-height:1.75}.intro-card button{color:#0a0d0b;background:var(--acid);cursor:pointer;border:0;border-radius:3px 16px;margin-top:20px;padding:16px 20px;font-weight:900;box-shadow:0 16px 45px #d9ff532e}.intro-card button b{margin-left:25px}.target-panel{z-index:6;border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#080d0ac2;width:190px;padding:18px;position:absolute;top:50%;right:clamp(22px,6vw,90px);transform:translateY(-50%)}.target-panel>span{color:#78837d;letter-spacing:.2em;font-size:10px}.target-panel>b,.target-panel>small{display:block}.target-panel>b{margin-top:9px;font:900 16px/1 ui-monospace,monospace}.target-panel>small{color:#7d8982;margin-top:24px;font-size:10px}.target-progress{background:#29302c;height:4px;margin-top:15px}.target-progress i{background:var(--acid);height:100%;box-shadow:0 0 14px var(--acid);transition:width .15s;display:block}.ground{background:linear-gradient(#0000,#050706);height:95px;position:absolute;bottom:0;left:0;right:0}.ground span{filter:blur(2px);background:#111b15;border-radius:50%;width:280px;height:110px;position:absolute;bottom:-35px}.ground span:first-child{left:-30px}.ground span:nth-child(2){left:42%}.ground span:nth-child(3){right:-60px}.is-miss .arena{animation:.24s miss}@keyframes miss{50%{filter:hue-rotate(300deg)brightness(1.4);transform:translate(5px)}}.control-deck{z-index:8;background:linear-gradient(#111714,#080b09);padding:42px clamp(22px,4vw,64px) 30px;position:relative;box-shadow:0 -24px 60px #0006}.difficulty{grid-template-columns:170px repeat(3,1fr);align-items:stretch;gap:8px;max-width:1180px;margin:0 auto 34px;display:grid}.section-label{align-self:center}.difficulty button{border:1px solid var(--line);color:#9ba59f;cursor:pointer;text-align:left;background:#101512;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;display:flex}.difficulty button b,.difficulty button small{display:block}.difficulty button b{color:#f2f3ea}.difficulty button small{font-size:10px}.difficulty button.active{border-color:var(--acid);color:#152016;background:var(--acid)}.difficulty button.active b{color:#0b100d}.style-picker{background:linear-gradient(135deg,#193a2fad,#0b120feb);border:1px solid #2be2b338;max-width:1180px;margin:-8px auto 34px;padding:22px;box-shadow:inset 0 1px #ffffff0a}.style-heading{border-bottom:1px solid var(--line);grid-template-columns:145px 1fr auto;align-items:end;gap:18px;padding-bottom:18px;display:grid}.style-heading strong{letter-spacing:-.03em;font-size:20px}.style-heading small{color:#7f8e86;letter-spacing:.1em;font:700 10px/1 ui-monospace,monospace}.style-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.style-options button{border:1px solid var(--line);color:#f3f4ec;cursor:pointer;text-align:left;background:#080d0ab8;flex-direction:column;align-items:flex-start;min-height:178px;padding:18px;transition:border-color .2s,transform .2s,background .2s;display:flex}.style-options button:hover{border-color:#d9ff5373;transform:translateY(-2px)}.style-options button.active{background:linear-gradient(145deg,#175b46d1,#0a1812f2);border-color:#42e5b4;box-shadow:0 12px 35px #16d4a11a}.style-options span{color:#42e5b4;letter-spacing:.18em;font:800 9px/1 ui-monospace,monospace}.style-options b{margin-top:10px;font-size:17px}.style-options small{color:#89968f;margin-top:8px;font-size:11px;line-height:1.55}.style-options em{color:#c7d0cb;margin-top:auto;padding-top:16px;font:700 9px/1.5 ui-monospace,monospace}.keyboard{background:#242b27;border-radius:7px;max-width:1180px;height:172px;margin:auto;padding:0 3px 5px;display:flex;position:relative;box-shadow:0 22px 55px #0000008c}.key{cursor:pointer;touch-action:none;border:0;position:relative}.key.white{color:#68706b;background:linear-gradient(#f7f5e9,#cfcfc5);border-radius:0 0 6px 6px;flex:1;height:100%;margin:0 1px;box-shadow:inset 0 -10px 14px #00000024}.key.black{z-index:2;color:#0000;background:linear-gradient(#121513,#272d29);border-radius:0 0 5px 5px;width:4.4%;height:62%;margin:0 -2.2%;box-shadow:0 8px 9px #00000080}.key span{font-size:8px;position:absolute;bottom:8px;left:0;right:0}.key.lit{background:linear-gradient(180deg,var(--key-color),var(--key-color))}@supports (color:color-mix(in lab, red, red)){.key.lit{background:linear-gradient(180deg,color-mix(in srgb,var(--key-color),white 44%),var(--key-color))}}.key.lit{box-shadow:0 0 22px var(--key-color),inset 0 -8px 12px #0000002e}@supports (color:color-mix(in lab, red, red)){.key.lit{box-shadow:0 0 22px color-mix(in srgb,var(--key-color),transparent 34%),inset 0 -8px 12px #0000002e}}.key.black.lit{background:var(--key-color)}.key.pressed,.key:active{filter:brightness(1.45);transform:translateY(5px)}.deck-footer{color:#626e67;letter-spacing:.14em;justify-content:space-between;align-items:center;max-width:1180px;margin:22px auto 0;font:700 9px/1 ui-monospace,monospace;display:flex}.deck-footer button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;padding:10px 14px}@media (max-width:900px){.arena{min-height:760px}.fruit-stage{top:58%}.intro-card{top:130px}.target-panel{top:auto;bottom:45px;right:22px;transform:none}.difficulty{grid-template-columns:1fr 1fr 1fr}.section-label{grid-column:1/-1;margin-bottom:8px}.difficulty button{display:block}.difficulty button small{margin-top:5px}.style-heading{grid-template-columns:1fr}.style-heading .section-label{grid-column:auto;margin:0}.style-options{grid-template-columns:repeat(2,minmax(0,1fr))}.midi-status{display:none}}@media (max-width:620px){.topbar{height:70px;padding:0 14px}.brand small{display:none}.brand-mark{width:42px;height:42px}.connect{padding:9px 11px}.arena{min-height:680px}.hud{gap:12px;top:20px;left:16px;right:16px}.hud div{flex:1;min-width:0}.hud strong{font-size:18px}.intro-card{top:110px;left:20px}.intro-card h1{font-size:clamp(29px,8.2vw,42px)}.fruit-stage{width:270px;height:350px;top:59%}.fruit{width:205px;height:205px;left:32px}.chord-label strong{font-size:45px}.target-panel{width:160px;bottom:20px;left:20px;right:auto}.control-deck{padding:30px 12px 24px}.difficulty{gap:4px}.difficulty button{padding:10px 8px}.difficulty button small{display:none}.style-picker{padding:14px}.style-options{grid-template-columns:1fr}.style-options button{min-height:145px}.keyboard{height:130px;overflow:hidden}.deck-footer span{display:none}.deck-footer{justify-content:center}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html,body{overscroll-behavior:none;width:100%;height:100%;overflow:hidden}.game{height:100dvh;min-height:0;padding-top:env(safe-area-inset-top);grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.portrait-lock{display:none}.topbar{height:clamp(58px,8vh,76px);padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));flex:none}.arena{height:auto;min-height:0}.difficulty{margin-bottom:12px}.difficulty button{padding:10px 13px}.style-picker{margin:0 auto 12px;padding:12px}.style-heading{padding-bottom:10px}.style-options{margin-top:8px}.style-options button{min-height:98px;padding:10px}.style-options small{display:none}.style-options em{padding-top:9px}.deck-actions{justify-content:center;align-items:center;gap:12px;max-width:1180px;margin:auto;display:flex}.deck-actions>span{color:#69756e;letter-spacing:.1em;font:700 9px/1 ui-monospace,monospace}.keyboard-trigger,.round-control,.orientation-toggle{border:1px solid var(--line);cursor:pointer;background:#121915;border-radius:999px;padding:11px 18px;font-weight:850}.keyboard-trigger{border-color:var(--acid);color:#0a0d0b;background:var(--acid);box-shadow:0 10px 30px #d9ff5324}.orientation-toggle{color:#8f9a94}.keyboard-sheet{z-index:100;pointer-events:none;position:fixed;inset:0}.sheet-backdrop{pointer-events:auto;background:0 0;border:0;width:100%;height:100%;position:absolute;inset:0}.sheet-panel{pointer-events:auto;background:#0a0f0cf0;border:1px solid #d9ff5357;border-radius:18px;width:min(760px,72vw);padding:12px;animation:.24s ease-out sheetUp;position:absolute;bottom:clamp(28px,9vh,90px);left:50%;transform:translate(-50%);box-shadow:0 18px 55px #00000080}.sheet-heading{justify-content:space-between;align-items:center;margin:0 2px 9px;display:flex}.sheet-heading span b,.sheet-heading span small{display:block}.sheet-heading span small{color:#849087;margin-top:3px;font-size:10px}.sheet-heading>button{border:1px solid var(--line);cursor:pointer;background:#222b26;border-radius:50%;width:30px;height:30px;font-size:19px}.sheet-panel .keyboard{height:105px}@keyframes sheetUp{0%{opacity:0;transform:translate(-50%,24px)}to{opacity:1;transform:translate(-50%)}}@media (max-width:900px){.arena{min-height:0}.fruit-stage{top:53%;transform:translate(-50%,-45%)scale(.84)}.intro-card{top:14%}.target-panel{top:auto;bottom:18px}.control-deck{max-height:35dvh}.difficulty{grid-template-columns:repeat(3,1fr)}.difficulty .section-label{display:none}.style-picker{padding:9px}.style-heading{display:none}.style-options{scrollbar-width:none;grid-template-columns:repeat(4,minmax(125px,1fr));overflow-x:auto}.style-options::-webkit-scrollbar{display:none}.style-options button{min-height:76px}.style-options em{display:none}}@media (max-width:620px){.game{padding-bottom:env(safe-area-inset-bottom)}.topbar{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));gap:7px}.brand{gap:7px}.brand b{font-size:11px}.brand-mark{border-radius:10px;width:37px;height:37px}.bgm-toggle{padding:8px;font-size:9px}.connect{padding:8px 9px;font-size:0}.connect:after{content:"连接";font-size:10px}.arena{min-height:0}.hud{top:10px}.hud small{font-size:7px}.hud strong{font-size:16px}.intro-card{width:58%;top:12%;left:16px}.intro-card>span,.intro-card p{display:none}.intro-card h1{margin:8px 0;font-size:clamp(30px,min(7.7vw,9.5vh),46px)}.prestart-summary span{display:none}.intro-card button{margin-top:9px;padding:10px 12px;font-size:11px}.intro-card button b{margin-left:6px}.fruit-stage{top:52%;transform:translate(-46%,-42%)scale(.68)}.target-panel{width:130px;padding:10px;bottom:10px;left:auto;right:12px}.target-panel>small{margin-top:10px}.control-deck{max-height:37dvh;padding:9px 9px max(9px,env(safe-area-inset-bottom))}.difficulty{gap:4px;margin-bottom:7px}.difficulty button{text-align:center;padding:7px 6px}.difficulty button b{font-size:12px}.style-picker{margin-bottom:7px}.style-options{grid-template-columns:repeat(4,112px)}.style-options button{min-height:58px;padding:7px}.style-options span{font-size:7px}.style-options b{margin-top:5px;font-size:12px}.deck-actions{gap:7px}.keyboard-trigger,.round-control,.orientation-toggle{padding:9px 10px;font-size:10px}.deck-actions>span{display:none}.sheet-panel{width:min(92vw,590px);bottom:max(18px,env(safe-area-inset-bottom));padding:9px}.sheet-heading{margin-bottom:7px;padding:0 3px}.sheet-panel .keyboard{height:90px}.chord-label,.split-piece{width:205px;height:205px;left:32px}}@media (max-height:700px) and (orientation:landscape){.topbar{height:52px}.arena{min-height:0}.control-deck{z-index:20;max-height:none;padding:7px max(10px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#080c0ae6;position:absolute;bottom:0;left:0;right:0}.difficulty{max-width:620px;margin-bottom:5px}.style-picker{display:none}.difficulty button{padding:5px 8px}.difficulty button small{display:none}.fruit-stage{top:49%;transform:translate(-50%,-46%)scale(.63)}.intro-card{top:58px}.intro-card>span,.intro-card p,.prestart-summary{display:none}.intro-card h1{margin:0 0 7px;font-size:clamp(31px,min(7vw,10vh),58px)}.target-panel{bottom:82px}.deck-actions .round-control{display:none}.sheet-panel{width:min(72vw,620px);bottom:15px}.sheet-panel .keyboard{height:82px}}@media (max-width:620px) and (orientation:portrait){.portrait-lock{z-index:999;padding:env(safe-area-inset-top) 24px env(safe-area-inset-bottom);color:#f7f8ed;text-align:center;background:radial-gradient(circle at 50% 38%,#1a4838,#080d0b 58%);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.portrait-lock img{border-radius:18px;width:66px;height:66px;box-shadow:0 0 45px #31e8b940}.portrait-lock b{margin-top:20px;font-size:24px}.portrait-lock span{color:#89968f;margin-top:7px;font-size:13px}.portrait-lock i{color:var(--acid);margin-top:24px;font:42px/1 system-ui;animation:1.8s ease-in-out infinite rotateHint}.portrait-lock button{color:var(--acid);background:#d9ff5312;border:1px solid #d9ff5380;border-radius:999px;margin-top:20px;padding:11px 18px;font-weight:800}.portrait-enabled .portrait-lock{display:none}@keyframes rotateHint{50%{transform:rotate(90deg)}}}.icon-button,.pause-button{border:1px solid var(--line);color:#aab5af;cursor:pointer;background:#ffffff0a;border-radius:999px;min-width:38px;height:38px;padding:0 11px}.pause-button{color:var(--acid);font-size:11px;font-weight:850}.mode-strip{grid-template-columns:repeat(3,1fr);gap:5px;max-width:1180px;margin:0 auto 9px;display:grid}.mode-strip button{border:1px solid var(--line);color:#849087;cursor:pointer;background:#0d120f;padding:7px 10px;font-size:10px;font-weight:750}.mode-strip button.active{color:#43e6b0;background:#43e6b014;border-color:#43e6b0}.special-badge{z-index:7;color:#ffe46b;letter-spacing:.12em;background:#0b0e0abf;border:1px solid;border-radius:999px;padding:5px 9px;font:900 9px/1 ui-monospace,monospace;position:absolute;top:55px;left:50%;transform:translate(-50%)}.special-gold .fruit{filter:drop-shadow(0 38px 28px #0000007a)drop-shadow(0 0 42px #ffd84c)}.special-freeze .fruit{filter:hue-rotate(125deg)drop-shadow(0 0 38px #62dfff)}.special-freeze .special-badge{color:#7cecff}.pause-overlay{z-index:15;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0307059e;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pause-overlay span{color:var(--acid);letter-spacing:.3em;font:800 10px/1 ui-monospace,monospace}.pause-overlay b{margin:12px 0 18px;font-size:30px}.pause-overlay button{border:1px solid var(--line);cursor:pointer;background:#172019;border-radius:999px;min-width:160px;margin:4px;padding:11px 16px}.pause-overlay button:first-of-type{color:#07100b;background:var(--acid)}.product-modal,.guide-layer{z-index:150;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));place-items:center;display:grid;position:fixed;inset:0}.modal-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#010403c7;border:0;width:100%;height:100%;position:absolute;inset:0}.modal-card{background:linear-gradient(145deg,#17211c,#090d0b);border:1px solid #d9ff5333;border-radius:22px;width:min(620px,100%);max-height:min(82dvh,720px);padding:22px;position:relative;overflow:auto;box-shadow:0 30px 100px #000000b3}.modal-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:16px;display:flex}.modal-title span small,.modal-title span b{display:block}.modal-title small{color:#43e6b0;letter-spacing:.2em;font:800 9px/1 ui-monospace,monospace}.modal-title b{margin-top:6px;font-size:22px}.modal-title>button{border:1px solid var(--line);cursor:pointer;background:#202a24;border-radius:50%;width:36px;height:36px;font-size:22px}.device-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0;display:grid}.device-grid>div{border:1px solid var(--line);background:#0000002e;min-height:112px;padding:14px}.device-grid small,.device-grid strong,.device-grid span{display:block}.device-grid small{color:#79867f;font-size:9px}.device-grid strong{margin:9px 0;font:900 24px/1 ui-monospace,monospace}.device-grid span{color:#839087;font-size:10px;line-height:1.4}.device-grid .connected{border-color:#43e6b0}.device-grid .connected strong{color:#43e6b0}.primary-modal-action{color:#07100b;background:var(--acid);cursor:pointer;border:0;border-radius:999px;width:100%;padding:13px;font-weight:900}.connect-guide{color:#a0aba4;padding-left:20px;font-size:12px;line-height:1.8}.hardware-note,.report-tip{color:#839087;background:#43e6b00f;border-left:2px solid #43e6b0;padding:12px;font-size:11px;line-height:1.55}.settings-card{width:min(500px,100%)}.settings-card>label{color:#a9b2ad;grid-template-columns:120px 1fr;align-items:center;gap:15px;margin:15px 0;font-size:12px;display:grid}.settings-card select{border:1px solid var(--line);color:#f3f4ec;background:#111713;border-radius:8px;width:100%;padding:10px}.setting-switch{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;margin:13px 0;padding:12px 0;display:flex}.setting-switch span b,.setting-switch span small{display:block}.setting-switch span small{color:#748078;margin-top:4px;font-size:10px}.setting-switch button{border:1px solid var(--line);cursor:pointer;background:#151c18;border-radius:999px;padding:8px 12px;font-size:10px}.setting-switch button.active{color:#43e6b0;border-color:#43e6b0}.harmony-settings{width:min(880px,100% - 24px);max-height:min(92dvh,820px);overflow:auto}.difficulty-cards{grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0 18px;display:grid}.difficulty-cards button{border:1px solid var(--line);color:#849088;text-align:left;cursor:pointer;background:#101512;border-radius:10px;grid-template-columns:auto 1fr;gap:3px 11px;padding:13px 15px;display:grid;position:relative}.difficulty-cards button small{color:#d9ff53;grid-row:1/3;align-self:center;font:800 10px/1 ui-monospace,monospace}.difficulty-cards button b{color:#f3f4ec;font-size:14px}.difficulty-cards button span{font-size:10px}.difficulty-cards button.active{background:linear-gradient(135deg,#157054e6,#122c22fa);border-color:#d9ff53;box-shadow:0 0 26px #2fe2b11f}.harmony-card-heading{justify-content:space-between;align-items:end;margin-bottom:10px;display:flex}.harmony-card-heading span small,.harmony-card-heading span b{display:block}.harmony-card-heading small{color:#40ddb0;letter-spacing:.14em;font:800 9px/1 ui-monospace,monospace}.harmony-card-heading b{margin-top:6px;font-size:18px}.harmony-card-heading em{color:#7f8b84;font:700 9px/1 ui-monospace,monospace}.harmony-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.harmony-cards button{border:1px solid var(--line);color:#edf2ed;text-align:left;cursor:pointer;background:linear-gradient(155deg,#111914,#090e0b);border-radius:12px;flex-direction:column;align-items:flex-start;min-height:172px;padding:15px;transition:all .2s;display:flex}.harmony-cards button:hover{border-color:#d9ff5373;transform:translateY(-2px)}.harmony-cards button.active{background:radial-gradient(circle at 80% 0,#d9ff5321,#0000 45%),linear-gradient(145deg,#145440,#0a1711);border-color:#3ee2ae;box-shadow:0 12px 30px #00000040}.harmony-cards span{color:#d9ff53;letter-spacing:.15em;font:800 8px/1 ui-monospace,monospace}.harmony-cards b{margin-top:9px;font-size:16px}.harmony-cards small{color:#929d96;margin-top:8px;font-size:10px;line-height:1.5}.harmony-cards em{color:#d2d9d4;margin-top:auto;padding-top:12px;font:700 9px/1.45 ui-monospace,monospace}@media (max-width:700px){.harmony-settings{max-height:96dvh}.harmony-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.harmony-cards button{min-height:132px}.harmony-cards small{display:none}.difficulty-cards button{padding:9px}.difficulty-cards button span{display:none}}.guide-layer{background:radial-gradient(circle at 50% 40%,#1f5843e0,#020604f0)}.guide-card{background:#101713;border:1px solid #d9ff5340;border-radius:24px;width:min(440px,100%);padding:28px;box-shadow:0 30px 100px #000000a6}.guide-card>small,.guide-card>b{display:block}.guide-card>small{color:var(--acid);letter-spacing:.18em;font:800 9px/1 ui-monospace,monospace}.guide-card>b{margin-top:12px;font-size:28px}.guide-card p{color:#9ba69f;font-size:13px;line-height:1.7}.guide-card>div{justify-content:flex-end;gap:8px;display:flex}.guide-card button{border:1px solid var(--line);cursor:pointer;background:#18201b;border-radius:999px;padding:10px 15px}.guide-card .guide-next{color:#08100b;background:var(--acid);border:0;font-weight:900}.report-head{text-align:center}.report-head small,.report-head b,.report-head span{display:block}.report-head small{color:#43e6b0;letter-spacing:.22em;font:800 9px/1 ui-monospace,monospace}.report-head b{color:var(--acid);margin:12px 0 4px;font:950 48px/1 ui-monospace,monospace}.report-head span{color:#89958e;font-size:11px}.report-grid{grid-template-columns:repeat(3,1fr);gap:7px;margin:20px 0;display:grid}.report-grid>div{border:1px solid var(--line);text-align:center;padding:14px}.report-grid small,.report-grid b{display:block}.report-grid small{color:#77837c;font-size:9px}.report-grid b{margin-top:7px;font:900 18px/1 ui-monospace,monospace}.report-actions{gap:8px;margin-top:16px;display:flex}.report-actions button{border:1px solid var(--line);cursor:pointer;background:#151c18;border-radius:999px;flex:1;padding:12px}.report-actions button:last-child{color:#07100b;background:var(--acid);border:0;font-weight:900}.particles-low .ambient-particles i:nth-child(n+9),.particles-medium .ambient-particles i:nth-child(n+17){display:none}@media (max-width:620px){.icon-button{display:none}.pause-button{padding:0 8px}.mode-strip{margin-bottom:5px}.mode-strip button{padding:5px 4px;font-size:8px}.device-grid{grid-template-columns:1fr}.device-grid>div{min-height:0}.modal-card{max-height:90dvh;padding:16px}.settings-card>label{grid-template-columns:90px 1fr}.report-grid{grid-template-columns:repeat(2,1fr)}.orientation-toggle{display:none}}.top-mode-menu{border:1px solid var(--line);background:#0000002e;border-radius:999px;padding:3px;display:flex}.top-mode-menu button{color:#758179;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:7px 10px;font-size:9px;font-weight:850}.top-mode-menu button.active{color:#09100c;background:var(--acid)}.language-toggle{color:#d5ddd7;cursor:pointer;background:#ffffff0d;border:1px solid #fff3;border-radius:50%;min-width:34px;height:34px;padding:0 8px;font:800 9px/1 ui-monospace,monospace}.prestart-summary{background:#08100c94;border-left:2px solid #43e6b0;width:min(360px,100%);margin-top:14px;padding:10px 12px}.prestart-summary b,.prestart-summary span{display:block}.prestart-summary b{font-size:11px}.prestart-summary span{color:#8d9992;margin-top:4px;font-size:9px}.intro-actions{align-items:center;gap:8px;display:flex}.intro-actions .setup-action{color:#dce5df;box-shadow:none;border:1px solid var(--line);background:#0f1713d1}.success-fireworks{z-index:2;pointer-events:none;position:absolute;inset:0}.success-fireworks i{background:#fff36b;border-radius:50%;width:6px;height:6px;animation:.72s ease-out forwards firework;position:absolute;top:48%;left:50%;box-shadow:0 0 12px}.success-fireworks i:nth-child(3n){color:#43e6b0;--fx:220px;--fy:-120px;background:#43e6b0}.success-fireworks i:nth-child(3n+1){color:#ff6eaa;--fx:-210px;--fy:-90px;background:#ff6eaa}.success-fireworks i:nth-child(3n+2){color:#fff36b;--fx:150px;--fy:145px;background:#fff36b}.success-fireworks i:nth-child(2n){animation-delay:60ms}.success-fireworks i:nth-child(5n){--fx:-145px;--fy:150px}@keyframes firework{0%{opacity:0;scale:.2}18%{opacity:1}to{opacity:0;translate:var(--fx) var(--fy);scale:1.8}}.is-miss .hud,.is-miss .fruit-stage,.is-miss .target-panel{animation:.3s ease-out wrongShake}@keyframes wrongShake{20%{translate:-8px 2px}40%{translate:7px -2px}60%{translate:-5px 1px}80%{translate:3px}}.control-deck{max-height:72px;padding:10px max(16px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom));overflow:hidden}@media (max-width:900px){.control-deck{max-height:64px}}@media (max-width:620px){.top-mode-menu button{padding:6px 7px;font-size:7px}.midi-status{display:none}.language-toggle{width:28px;min-width:28px;height:28px;padding:0}.connect{padding:8px 9px;font-size:0}.connect:after{content:"MIDI";font-size:9px}.control-deck{max-height:56px;padding:7px 9px max(7px,env(safe-area-inset-bottom))}.intro-actions{gap:5px}.intro-actions button{padding:10px 11px;font-size:10px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
