/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@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;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size: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-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--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{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@font-face{font-family:Hanyi Pixel;src:url(/fonts/HYPixel11pxU-2.ttf)format("truetype");font-display:swap}*{box-sizing:border-box}html,body{width:100%;min-height:100%;color:var(--ink);background:radial-gradient(circle at 50% 10%,#426cba 0,#152a62 45%,#09122f 100%);margin:0;font-family:Hanyi Pixel,PingFang SC,Microsoft YaHei,sans-serif;overflow:hidden}button{font:inherit;-webkit-tap-highlight-color:transparent}.game-stage{place-items:center;width:100vw;height:100dvh;display:grid;overflow:hidden}.game-shell{aspect-ratio:9/16;touch-action:none;-webkit-user-select:none;user-select:none;isolation:isolate;background:#6dcef1;border:2px solid #17253a;border-radius:20px;width:min(100vw,56.25dvh);max-width:375px;height:min(100dvh,177.778vw);max-height:667px;position:relative;overflow:hidden;box-shadow:0 20px 80px #020718aa}.game-shell img{image-rendering:pixelated}.panel-image{object-fit:fill;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.game-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.hidden-canvas{opacity:0}.home-screen{z-index:3;background:url(/assets/bg_app_main.png) 50%/cover no-repeat;position:absolute;inset:0;overflow:hidden}.home-title{z-index:2;object-fit:contain;width:80%;height:21%;position:absolute;top:2.7%;left:50%;transform:translate(-50%)}.mute-button{z-index:6;top:max(12px, env(safe-area-inset-top));border:2px solid var(--ink);width:38px;height:38px;box-shadow:0 3px 0 var(--ink);cursor:pointer;background:#fff8de;border-radius:8px;padding:0;position:absolute;right:12px}.home-main{z-index:3;width:91%;height:66.2%;position:absolute;top:21.5%;left:50%;transform:translate(-50%)}.home-copy{z-index:2;color:var(--ink-dark);letter-spacing:.02em;font-size:clamp(11px,3.3vw,15px);font-weight:900;position:absolute;top:5.8%;left:9.2%;right:8.5%}.home-copy p{border-bottom:2px dashed #6ba8e4;justify-content:space-between;align-items:center;gap:4px;min-height:29px;margin:0;display:flex}.home-copy p+p{margin-top:3px}.home-copy .pink{color:#f26f9f;font-size:1.1em}.home-progress{border:1.5px solid var(--ink);background:#fff;border-radius:99px;height:7px;margin-top:8px;overflow:hidden}.home-progress i{border-right:1px solid var(--ink);background:linear-gradient(90deg,#50d9ef,#ef83b0);height:100%;display:block}.track-select{z-index:3;gap:5px;display:grid;position:absolute;top:24%;left:8%;right:-3%}.track-select button{color:#e5efff;text-align:left;cursor:pointer;background:#152b4ce8;border:2px solid #5c80b6;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;min-height:42px;padding:5px 9px;display:flex;position:relative;box-shadow:inset 0 0 0 2px #273f64}.track-select button.selected{background:linear-gradient(100deg,#3a3c72f5,#3e5480f5);border-color:#ff5fa7;outline:2px solid #fff0f7;animation:1.45s ease-in-out infinite alternate selected-track-glow;transform:translateY(-1px)scale(1.01);box-shadow:inset 0 0 0 2px #ff9dc9,0 3px #102b5f,0 0 14px #ff62a6aa}.track-select button.selected:before{content:"";background:#ff6cab;border-radius:99px;width:4px;position:absolute;top:7px;bottom:7px;left:4px;box-shadow:0 0 8px #ff6cab}.track-select span,.track-select b,.track-select small{display:block}.track-select b{letter-spacing:.02em;font-size:13px}.track-select small{color:#9eb7d9;margin-top:1px;font-size:10px;font-weight:800}.track-select em{color:#20385f;background:#fff4d4;border-radius:5px;flex:none;padding:3px 7px;font-size:10px;font-style:normal;font-weight:1000}.track-select em.hard{color:#b62f5d;background:#ffdcdf}.track-selection-hint{color:#5e79a4;justify-content:space-between;align-items:center;gap:6px;min-height:15px;line-height:1.15;margin:0 3px!important;display:flex!important}.track-selection-hint b{color:#dc4a8a;font-size:9px}.track-selection-hint span{color:#5e79a4;font-size:8px;font-weight:800}.more-tracks{color:#8299bc;letter-spacing:.08em;text-align:center;font-size:8px;font-weight:900;margin:-2px 0 0!important}@keyframes selected-track-glow{0%{filter:brightness();box-shadow:inset 0 0 0 2px #ff9dc9,0 3px #102b5f,0 0 10px #ff62a677}to{filter:brightness(1.12);box-shadow:inset 0 0 0 2px #ffc1df,0 3px #102b5f,0 0 19px #ff62a6dd}}.home-scene{z-index:1;background:linear-gradient(135deg,#ff63ad,#6ce7ff);border:0;border-radius:9px;width:84.5%;height:31%;padding:3px;position:absolute;top:50%;left:7.8%;overflow:hidden;box-shadow:0 3px #173b77,0 0 13px #5bdcf477}.home-cover{object-fit:cover;object-position:50% 48%;border-radius:6px;width:100%;height:100%;display:block}.image-button{cursor:pointer;background:0 0;border:0;padding:0}.image-button img{object-fit:contain;width:100%;height:100%;display:block}.start-button{z-index:4;filter:drop-shadow(0 4px #19366a);width:60%;height:12%;position:absolute;bottom:4.8%;left:50%;transform:translate(-50%)}.start-button:active{filter:drop-shadow(0 1px #19366a);bottom:4.3%}.home-dock{z-index:4;grid-template-columns:repeat(3,1fr);align-items:center;gap:3%;width:92%;height:10.2%;padding:1.8% 4.5%;display:grid;position:absolute;bottom:1.8%;left:50%;transform:translate(-50%)}.home-dock button{z-index:1;border:2px solid var(--ink);height:68%;color:var(--ink);cursor:pointer;background:linear-gradient(#dff5ff,#71b8f4);border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:0 5px;font-size:clamp(11px,3.3vw,14px);display:flex;position:relative;box-shadow:0 3px #3272b8}.home-dock button b{white-space:nowrap}.run-hud{z-index:4;top:max(10px, env(safe-area-inset-top));pointer-events:none;width:154px;position:absolute;left:50%;transform:translate(-50%)}.ticket-score{text-align:center;background:linear-gradient(#fff9cc 0%,#ffce65 100%);border:3px solid #fff8d7;border-radius:14px;outline:2px solid #102b5f;justify-content:center;align-items:center;gap:8px;min-height:50px;padding:5px 14px 5px 9px;display:flex;box-shadow:0 4px #102b5f,0 8px 20px #081b4b55}.ticket-score img{object-fit:contain;filter:drop-shadow(0 2px #cb6d36);width:40px;height:34px}.ticket-score span,.ticket-score small,.ticket-score b{white-space:nowrap;display:block}.ticket-score small{color:#8c4a38;font-size:9px;font-weight:900;line-height:1}.ticket-score b{color:#07183b;letter-spacing:-.04em;font-family:Hanyi Pixel,PingFang SC,Microsoft YaHei,sans-serif;font-size:20px;font-weight:1000;line-height:1.1}.powerup-hud{z-index:4;top:calc(max(10px, env(safe-area-inset-top)) + 60px);pointer-events:none;justify-content:center;gap:8px;width:calc(100% - 24px);display:flex;position:absolute;left:58.25%;transform:translate(-50%)}.powerup-card{background:linear-gradient(#effbffed,#9fddf5ed);border:2px solid #fff;border-radius:12px;outline:2px solid #102b5f;align-items:center;gap:7px;width:128px;min-height:46px;padding:5px 9px;display:flex;box-shadow:0 3px #184e86,0 5px 14px #071a4555}.powerup-hud:not(.single) .powerup-card{width:112px}.powerup-card img{object-fit:contain;flex:none;width:34px;height:34px}.powerup-card span,.powerup-card small,.powerup-card b{white-space:nowrap;display:block}.powerup-card small{color:#356b94;font-size:10px;font-weight:900;line-height:1}.powerup-card b{color:#102b5f;margin-top:3px;font-family:Hanyi Pixel,PingFang SC,Microsoft YaHei,sans-serif;font-size:16px;line-height:1}.floating-pause-button{z-index:6;right:12px;bottom:calc(max(7px, env(safe-area-inset-bottom)) + 91px);outline:2px solid var(--ink);color:#fff;cursor:pointer;background:linear-gradient(#f58cb8,#df5f96);border:2px solid #fff;border-radius:10px;width:38px;height:38px;padding:0;font-size:16px;font-weight:900;line-height:34px;position:absolute;box-shadow:0 3px #0a1d49}.run-footer{z-index:4;left:7px;right:7px;bottom:max(7px, env(safe-area-inset-bottom));pointer-events:none;background:linear-gradient(#fffdf1 0%,#fff3c9 100%);border:3px solid #fff;border-radius:11px;outline:2px solid #102b5f;height:46px;padding:5px 10px 4px;position:absolute;box-shadow:0 4px #0b2454}.distance-row{color:#102b5f;white-space:nowrap;justify-content:space-between;align-items:center;gap:5px;font-size:clamp(9px,2.8vw,12px);font-weight:900;display:flex;overflow:hidden}.distance-row b{color:#e45d97;font-family:Hanyi Pixel,PingFang SC,Microsoft YaHei,sans-serif;font-size:clamp(13px,4vw,17px)}.route-bar{background:#e8edf2;border:2px solid #102b5f;border-radius:99px;height:10px;margin-top:4px;padding:2px;overflow:hidden}.route-bar i{background:linear-gradient(90deg,#42cae7,#50e6f2 72%,#fff36e);border-radius:99px;min-width:2px;height:100%;display:block;box-shadow:0 0 6px #47d9ee}.gesture-hint{color:#204b84;white-space:nowrap;justify-content:space-between;align-items:center;gap:7px;margin-top:5px;font-size:clamp(9px,2.8vw,12px);line-height:1;display:flex}.gesture-hint span{color:#e46199;font-size:9px;font-weight:900}.countdown-screen{z-index:8;text-align:center;color:#fff;text-shadow:0 5px #173b76;background:#13224d55;place-content:center;display:grid;position:absolute;inset:0}.countdown-screen b{color:#fff169;font-size:clamp(80px,28vw,120px);line-height:.95;animation:.65s ease-out infinite countdown-pop;display:block}.countdown-screen span{margin-top:16px;font-size:20px;font-weight:900}@keyframes countdown-pop{0%{opacity:.2;transform:scale(.7)}40%{opacity:1;transform:scale(1)}to{opacity:.9;transform:scale(1.08)}}.beat-prompt{z-index:3;color:#fff;width:62px;height:62px;box-shadow:0 0 0 8px #5ce0f044, 0 4px 0 var(--ink);opacity:0;pointer-events:none;background:#2b4f92bb;border:3px solid #fff;border-radius:50%;place-items:center;transition:all .16s;display:grid;position:absolute;top:22%;left:50%;transform:translate(-50%)scale(.5)}.beat-prompt.show{opacity:1;transform:translate(-50%)scale(1)}.beat-prompt.burst{box-shadow:0 0 0 9px #ff73ae40, 0 4px 0 var(--ink);background:#7c3f8edb;border-color:#ff9bc3;animation:.235s ease-in-out infinite alternate burst-cue}.beat-prompt b{font-size:30px;line-height:1}.beat-prompt span{white-space:nowrap;text-shadow:0 2px 0 var(--ink);font-size:10px;font-weight:900;position:absolute;top:66px}@keyframes burst-cue{0%{filter:brightness(.95)}to{filter:brightness(1.22)}}.judgement{z-index:5;color:#ffed5d;text-shadow:2px 3px #744293;pointer-events:none;font-size:28px;font-style:italic;font-weight:1000;animation:.72s ease-out both judgement-in;position:absolute;top:39%;left:50%;transform:translate(-50%)}.judgement.good{color:#fff}.judgement small{text-align:center;margin-top:2px;font-size:10px;display:block}@keyframes judgement-in{0%{opacity:0;transform:translate(-50%,20px)scale(.5)}30%{opacity:1;transform:translate(-50%)scale(1.1)}to{opacity:0;transform:translate(-50%,-18px)scale(1)}}.overlay{z-index:12;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#040c22bf;place-items:center;padding:7%;display:grid;position:absolute;inset:0}.rules-panel,.pause-panel,.result-panel{outline:3px solid var(--ink);background:linear-gradient(#deefffdd,#b8ddffef),url(/assets/modal_rule_info.png) 50%/100% 100% no-repeat;border:4px solid #fff;border-radius:14px;width:100%;max-height:92%;padding:10% 8% 8%;position:relative;overflow:auto;box-shadow:0 10px #0d2555,0 20px 50px #06102eaa}.rules-panel h2,.pause-panel h2,.result-panel h2{text-align:center;color:var(--ink);text-shadow:0 2px #fff;margin:0 0 6%;font-size:clamp(25px,8vw,34px)}.modal-close{border:2px solid var(--ink);background:var(--pink);color:#fff;width:36px;height:36px;box-shadow:0 3px 0 var(--ink);cursor:pointer;border-radius:7px;padding:0;font-size:27px;font-weight:900;line-height:30px;position:absolute;top:13px;right:13px}.rule-list{background:var(--cream);border:2px solid #75a9dc;border-radius:12px;padding:4% 6%}.rule-list p{border-bottom:2px dashed #82b4df;grid-template-columns:50px 1fr;align-items:center;gap:9px;margin:0;padding:9px 0;font-size:clamp(11px,3.6vw,15px);line-height:1.45;display:grid}.rule-list p:last-child{border-bottom:0}.rule-list img{object-fit:contain;width:48px;height:48px}.rule-banner-icon{color:#fff;letter-spacing:.04em;background:#ef75a9;border:2px solid #fff5c8;outline:2px solid #8f3567;place-items:center;width:48px;min-height:28px;font-size:10px;font-weight:1000;display:grid}.rule-list b{display:block}.rule-tiers{background:#fff8de;border:2px solid #82afd9;border-radius:8px;margin:12px 0 4px;padding:8px 10px}.rule-tiers>p{color:var(--ink);margin:0 0 4px;font-size:11px;font-weight:900}.rule-tiers ul{grid-template-columns:1fr;gap:4px;margin:0;padding:0;list-style:none;display:grid}.rule-tiers li{color:#4e72a3;font-size:10px;font-weight:700}.rule-tiers .rule-tier-warn{color:var(--pink);margin:6px 0 0;font-size:10px;font-weight:900}.gesture-guide{grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0;display:grid}.gesture-guide span{color:var(--pink);text-align:center;background:#fff8de;border:2px solid #7ea9d9;border-radius:8px;padding:8px 3px;font-size:20px;font-weight:900}.gesture-guide b{color:var(--ink);font-size:10px;display:block}.rhythm-rule{color:#9a3f70;text-align:center;background:#fff0f7;border:2px solid #e897ba;border-radius:8px;margin:0;padding:8px 10px;font-size:11px;font-weight:900;line-height:1.45}.pixel-primary,.pause-panel button,.result-actions button{border:2px solid var(--ink);color:#fff;width:100%;min-height:42px;box-shadow:0 4px 0 var(--ink);cursor:pointer;background:linear-gradient(#5ce4f5,#27b9de);border-radius:9px;margin-top:9px;font-weight:900;display:block}.pause-panel{text-align:center;width:82%;padding:12% 10% 10%}.pause-panel p{color:var(--pink);letter-spacing:.25em;margin:0;font-weight:1000}.pause-panel button:not(.pixel-primary){color:var(--ink);background:linear-gradient(#ddecff,#83b8ed)}.result-overlay{padding:0}.result-panel{background:linear-gradient(#e8f5ffed,#b9deffed),url(/assets/modal_result_shell.png) 50%/100% 100% no-repeat;border-width:3px;border-radius:16px;width:84%;max-height:none;padding:16px 14px 15px;animation:.38s cubic-bezier(.2,1.35,.45,1) both result-panel-pop,1.7s ease-in-out .4s infinite alternate result-panel-glow;overflow:visible;box-shadow:0 7px #0d2555,0 18px 45px #06102e99,0 0 22px #72dff866}.result-mark{place-items:center;height:50px;margin-top:-43px;margin-bottom:7px;display:grid}.result-badge,.fail-badge{object-fit:contain;width:58px;height:58px;animation:.58s cubic-bezier(.2,1.5,.45,1) .18s both result-mark-bounce}.fail-badge{outline:3px solid var(--ink);background:var(--pink);color:#fff;border:4px solid #fff;border-radius:50%;place-items:center;font-size:31px;font-weight:1000;display:grid}.result-panel h2{margin:0 0 10px;font-size:clamp(27px,8vw,33px);line-height:1.05}.result-stats{grid-template-columns:repeat(2,1fr);gap:7px;display:grid}.result-stats span{text-align:center;background:#f7fbffcc;border:2px solid #82afd9;border-radius:9px;padding:8px 5px}.result-stats small,.result-stats b{display:block}.result-stats small{font-size:12px;font-weight:900}.result-stats b{color:var(--ink);margin-top:2px;font-size:23px}.milestone-card{background:#fff8de;border:2px solid #82afd9;border-radius:9px;margin-top:8px;padding:9px 10px}.milestone-summary{justify-content:space-between;align-items:center;font-size:14px;display:flex}.milestone-summary b{color:#d63384;font-size:15px}.milestone-summary span{color:var(--ink);font-weight:900}.milestone-bar{border:1.5px solid var(--ink);background:#fff;border-radius:3px;height:12px;margin-top:7px;position:relative;overflow:hidden}.milestone-bar>span{z-index:2;background:#6a82a4;width:1px;position:absolute;top:0;bottom:0;transform:translate(-50%)}.milestone-bar>i{transform-origin:0;background:#ed6fa8;height:100%;animation:.7s ease-out .22s both milestone-fill-in;display:block;position:absolute;inset:0 auto 0 0;box-shadow:inset 0 2px #ffb6d6,0 0 7px #ed6fa899}.milestone-labels{height:31px;margin-top:5px;position:relative}.milestone-labels span{min-width:54px;position:absolute;top:0;transform:translate(-50%)}.milestone-labels b,.milestone-labels small{text-align:center;display:block}.milestone-labels b{color:var(--ink);font-size:12px}.milestone-labels small{color:#617ca4;white-space:nowrap;font-size:10px;font-weight:900}.result-actions{grid-template-columns:1.3fr .8fr .9fr;gap:6px;margin-top:10px;display:grid}.result-actions button{min-height:40px;color:var(--ink);background:linear-gradient(#d9edff,#78b5ec);margin:0;padding:4px;font-size:12px}.result-actions .pixel-primary{color:#fff;background:linear-gradient(#5ce4f5,#27b9de)}@keyframes result-panel-pop{0%{opacity:0;transform:translateY(18px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes result-panel-glow{0%{filter:brightness();box-shadow:0 7px #0d2555,0 18px 45px #06102e99,0 0 15px #72dff855}to{filter:brightness(1.04);box-shadow:0 7px #0d2555,0 18px 45px #06102e99,0 0 30px #ff79b077}}@keyframes result-mark-bounce{0%{opacity:0;transform:translateY(10px)rotate(-10deg)scale(.45)}to{opacity:1;transform:translateY(0)rotate(0)scale(1)}}@keyframes milestone-fill-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.home-screen.home-redesign{color:#fff;background:linear-gradient(#071331db 0%,#101c4a7d 45%,#080e29e8 100%),url(/assets/run-bg-indoor-arena-v3.jpg?v=8) 50%/cover no-repeat}.home-atmosphere{z-index:0;pointer-events:none;background:radial-gradient(circle at 83% 38%,#f47ac436 0 12%,#0000 35%),linear-gradient(90deg,#060e2ecc 0 49%,#060e2e55 68%,#0000 100%);position:absolute;inset:0}.home-redesign .mute-button{top:max(5%, env(safe-area-inset-top));color:#fff;background:#161d4e88;border:1px solid #f9e9ff;border-radius:50%;width:34px;height:34px;right:5%;box-shadow:0 0 12px #8b7ee855}.home-headline{z-index:2;width:54%;position:absolute;top:9%;left:8%}.home-headline p{color:#ffc2ed;letter-spacing:.05em;text-shadow:0 2px #7b497f,0 4px 7px #080c32aa;margin:0;font-size:clamp(14px,4.2vw,18px);font-weight:950}.home-headline h1{color:#f5ebff;letter-spacing:.03em;white-space:nowrap;text-shadow:0 3px #794486,0 6px 10px #080c32bb;margin:5px 0 0;font-size:clamp(29px,8.8vw,36px);font-weight:1000;line-height:1}.home-mission{z-index:2;color:#f7f4ff;text-shadow:0 1px 2px #080c32;flex-direction:column;width:48%;font-size:10px;font-weight:800;line-height:1.35;display:flex;position:absolute;top:28%;left:8%}.home-mission b{color:#ffb9df;letter-spacing:.14em;margin-bottom:3px;font-size:13px}.home-mission i{color:#91e7ff;letter-spacing:.2em;font-style:normal}.home-mission span:last-child{white-space:nowrap}.home-song-list{z-index:4;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#111a46b8;border:1px solid #c6c6f05c;border-radius:8px;width:50%;padding:9px;position:absolute;bottom:20.5%;left:8%;box-shadow:0 8px 20px #05082755}.home-song-list h2{color:#dedcff;letter-spacing:.14em;margin:0 0 5px;font-size:10px;font-weight:900}.home-track-options{gap:3px;display:grid}.home-track-options button{color:#fff;text-align:left;cursor:pointer;background:#28315b8c;border:1px solid #0000;border-radius:5px;grid-template-columns:1fr auto;align-items:center;gap:4px;min-height:37px;padding:5px 6px;transition:all .16s;display:grid;position:relative;overflow:hidden}.home-track-options button.selected{background:#593762c9;border-color:#ff8bc9;outline:0;transform:none;box-shadow:0 0 9px #ff62b675}.home-track-options button>span,.home-track-options button b,.home-track-options button small{display:block}.home-track-options button b{font-size:10px}.home-track-options button small{color:#c8c8e8;text-overflow:ellipsis;white-space:nowrap;max-width:96px;margin-top:1px;font-size:7px;font-weight:800;overflow:hidden}.home-track-options button em{color:#fff2c7;font-size:8px;font-style:normal;font-weight:900}.home-track-options button i{color:#ff9cce;font-size:6px;font-style:normal;font-weight:900;position:absolute;bottom:1px;right:4px}.home-track-options>p{color:#e3dcf6;text-align:center;margin:2px 0 0;font-size:7px;font-weight:800}.home-mascot{z-index:3;object-fit:contain;object-position:right bottom;pointer-events:none;filter:drop-shadow(0 13px 12px #07062699)drop-shadow(0 0 10px #ff88ca66);width:59%;height:56%;animation:2.6s ease-in-out infinite home-mascot-float;position:absolute;bottom:10%;right:-6%;image-rendering:auto!important}.home-start-cta{z-index:5;color:#281438;white-space:nowrap;cursor:pointer;background:linear-gradient(#ffb1d9,#df659e);border:2px solid #ffd6ed;border-radius:7px;outline:1px solid #5f376f;width:50%;height:9%;min-height:0;font-size:clamp(17px,5vw,22px);font-weight:1000;line-height:1;animation:1.5s ease-in-out infinite alternate home-start-glow;position:absolute;bottom:8%;left:8%;box-shadow:0 4px #49215f,0 0 18px #ff75bd66}.home-start-cta:active{transform:translateY(4px);box-shadow:0 3px #49215f}.home-headphone-tip{z-index:5;color:#f6dce9;text-align:center;white-space:nowrap;text-shadow:0 1px 2px #321342aa;pointer-events:none;width:50%;margin:0;font-size:clamp(8px,2.3vw,10px);font-weight:900;line-height:1;position:absolute;bottom:4.7%;left:8%}.home-rules-link{z-index:6;color:#c9c9ea;cursor:pointer;background:0 0;border:0;font-size:8px;font-weight:900;text-decoration:underline;position:absolute;bottom:7%;right:6%}.rules-panel{color:#f5f3ff;background:radial-gradient(circle at 85% 0,#d45fc53b,#0000 42%),linear-gradient(145deg,#24255bf7,#10163ff7);border-color:#f8eaff;outline-color:#171f52;box-shadow:0 9px #090d31,0 20px 50px #03051db8,0 0 30px #ce74ff3d}.rules-panel h2{color:#fff;text-shadow:0 3px #21265d,0 0 15px #ff80c277}.rules-panel .modal-close{background:linear-gradient(#ff9bcd,#e85fa6);border-color:#fff0fa;box-shadow:0 3px #101743}.rules-panel .rule-list{background:#c6c0e51c;border-color:#8a7fc5}.rules-panel .rule-list p{color:#eeecff;border-bottom-color:#8981bd99}.rules-panel .rule-list b{color:#ffb5dd}.rules-panel .rule-tiers{background:#c7c0e71a;border-color:#8d82c5}.rules-panel .rule-tiers>p,.rules-panel .rule-tiers li{color:#f2efff}.rules-panel .rule-tiers .rule-tier-warn{color:#ff9dcb}.rules-panel>.pixel-primary{background:linear-gradient(#ffadd7,#e767aa);border-color:#fff0fa;outline:2px solid #121943;box-shadow:0 4px #101743,0 0 16px #ff73b866}@keyframes home-mascot-float{0%,to{transform:translateY(0)rotate(-.5deg)}50%{transform:translateY(-5px)rotate(.5deg)}}@keyframes home-start-glow{0%{filter:brightness()}to{filter:brightness(1.1)drop-shadow(0 0 7px #ff97cf)}}.result-panel.failed,.result-panel.success{color:#f8f5ff;text-align:center;background:radial-gradient(circle at 80% 0,#ba58bb35,#0000 45%),linear-gradient(145deg,#171d50f2,#10163ef2);border:2px solid #f7eaff;border-radius:9px;outline:3px solid #1a2358;width:82%;padding:25px 22px 21px;box-shadow:0 8px #080c2e,0 20px 48px #02051cbb,0 0 30px #db70ff42}.result-panel.success{background:radial-gradient(circle at 70% 0,#ff76bc42,#0000 42%),linear-gradient(145deg,#25245af5,#171443f5);border-color:#fff0bc}.result-panel.failed h2,.result-panel.success h2{color:#fff;text-shadow:0 3px #252258,0 0 17px #ff8bce66;margin:0 0 22px;font-size:clamp(26px,8vw,34px);line-height:1.1}.result-panel.success h2 strong{color:#ffe48d;margin-top:4px;font-size:1.16em;display:block}.result-panel.failed{padding-top:34px;padding-bottom:28px}.result-panel.failed h2{margin-bottom:25px}.result-panel.failed .result-stats span,.result-panel.success .result-stats span{color:#dce7ff;background:#dceeff15;border:1px solid #8eb7e3}.result-panel.success .milestone-card{text-align:left;background:#f9f1ffed;border-color:#dbb3e8;margin-top:14px}.virtual-ticket{color:#56334f;text-align:left;background:linear-gradient(110deg,#fff7fb,#f2dce9);border:2px dashed #d8a4c8;border-radius:7px;grid-template-columns:1fr auto;gap:2px 10px;margin-top:10px;padding:8px 11px;display:grid;position:relative;overflow:hidden}.virtual-ticket:after{content:"";border:7px solid #d793bd66;border-radius:50%;width:58px;height:58px;position:absolute;top:-18px;right:12px}.virtual-ticket small,.virtual-ticket span{z-index:1;font-size:9px;font-weight:900;position:relative}.virtual-ticket b{z-index:1;color:#a14e7f;font-size:17px;position:relative}.virtual-ticket span{color:#77566d;grid-column:1/-1}.virtual-ticket.stands{background:linear-gradient(110deg,#f5f0ff,#ded9f4);border-color:#9f94df}.virtual-ticket.stands b{color:#62549b}.virtual-ticket.floor{background:linear-gradient(110deg,#fff8e6,#f6deb6);border-color:#e2ac74}.virtual-ticket.floor b{color:#ab6a32}.virtual-ticket.front-row{background:linear-gradient(110deg,#fffbe8,#f8df91);border-color:#f0cb68;box-shadow:0 0 13px #ffd96e88}.virtual-ticket.front-row b{color:#a26c09}.tier-unlocks{color:#694e5f;text-align:left;background:#fff7dc;border-left:3px solid #f0c55e;margin-top:8px;padding:7px 9px}.tier-unlocks>b{color:#a66a23;margin-bottom:4px;font-size:10px;display:block}.tier-unlocks>div{flex-wrap:wrap;gap:4px;display:flex}.tier-unlocks span{color:#7b526a;background:#fff;border-radius:3px;padding:3px 5px;font-size:8px;font-weight:900}.result-panel .result-actions{grid-template-columns:1.5fr .8fr;gap:10px;margin-top:18px}.result-panel .result-actions.with-share{grid-template-columns:1.35fr .8fr .8fr}.result-panel .result-actions button{color:#111b49;background:linear-gradient(#a9c9f4,#718fc5);border-color:#e8efff;border-radius:6px;outline:2px solid #121b4c;min-height:46px;font-size:14px}.result-panel .result-actions .pixel-primary{color:#fff;background:linear-gradient(#ffbadf,#e96ead)}.result-panel.failed .failure-stats{margin-bottom:6px}.toast{z-index:30;outline:2px solid var(--ink);color:#fff;text-align:center;background:#183b78e8;border:2px solid #fff;border-radius:9px;max-width:82%;padding:10px 17px;font-size:12px;font-weight:900;animation:.2s ease-out toast-in;position:absolute;bottom:16%;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}}@media (height<=700px){.home-title{height:19%;top:1%}.home-main{height:68%;top:19%}.home-dock{bottom:1%}.beat-prompt{top:24%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--ink:#563c58;--ink-dark:#3f2b47;--blue:#a8dce7;--blue-deep:#78b7ca;--pink:#c982a3;--cream:#fff4f8}.game-shell{background:#b97c9e;border-color:#76516f;box-shadow:0 20px 80px #37233b80}.home-track-options>p,.home-rules-link{color:#f1dce8}.home-mascot{z-index:3;isolation:isolate;opacity:1;mix-blend-mode:normal;filter:drop-shadow(0 10px 10px #35223e88)}.home-headline,.home-mission,.home-song-list,.home-start-cta,.home-rules-link,.home-redesign .mute-button{isolation:isolate}.home-mascot{image-rendering:auto!important}.ticket-score{background:linear-gradient(#fbe7ef 0%,#edbdd0 100%);border-color:#fff2f7;outline-color:#714765;box-shadow:0 4px #714765,0 8px 20px #4b304755}.ticket-score small{color:#87546a}.ticket-score b{color:#4e304c}.ticket-score img{filter:drop-shadow(0 2px #b97191)}.powerup-card{background:linear-gradient(#f8e9f0ed,#ddb2c8ed);border-color:#fff5f9;outline-color:#714765;box-shadow:0 3px #81506c,0 5px 14px #4b304755}.powerup-card small{color:#87546a}.powerup-card b{color:#4e304c}.floating-pause-button{background:linear-gradient(#e8b2c8,#c97e9f);outline-color:#714765;box-shadow:0 3px #714765}.run-footer{background:linear-gradient(#fff7fa 0%,#f4d9e5 100%);border-color:#fff5f9;outline-color:#714765;box-shadow:0 4px #714765}.distance-row{color:#563c58}.distance-row b,.gesture-hint span{color:#c47899}.gesture-hint{color:#72516e}.route-bar{background:#f3e8ee;border-color:#714765}.route-bar i{background:linear-gradient(90deg,#9ed8e5,#bdebf0 72%,#f0c5d6);box-shadow:0 0 6px #9ed8e5}.beat-prompt{background:#8b5a7dbb;box-shadow:0 0 0 8px #bfeaf044,0 4px #563c58}.beat-prompt.burst{background:#b77795db;border-color:#f2bfd4;box-shadow:0 0 0 9px #f0bfd440,0 4px #563c58}.judgement{color:#f3d392;text-shadow:2px 3px #855a80}.judgement.great{color:#bfeaf0}.overlay{background:#38243f99}.rules-panel,.pause-panel,.result-panel{color:#563c58;background:linear-gradient(145deg,#f9edf3f5,#e7c7d6f5);border-color:#fff2f7;outline-color:#704765;box-shadow:0 9px #714765,0 20px 50px #38243f77}.rules-panel h2,.pause-panel h2,.result-panel h2{color:#563c58}.rules-panel .rule-list,.rules-panel .rule-tiers{background:#fff8fb66;border-color:#d8a3bd}.rules-panel .rule-list p,.rules-panel .rule-tiers>p,.rules-panel .rule-tiers li{color:#634563}.rules-panel .rule-list b,.rules-panel .rule-tiers .rule-tier-warn{color:#b96f91}.rules-panel .gesture-guide span{color:#6f9fae;background:#eafaff66;border-color:#a9dce7}.rules-panel .gesture-guide b{color:#563c58}.rules-panel .rhythm-rule{color:#7d4f69;background:#fff3f855;border-color:#e1adc4}.pixel-primary,.pause-panel button,.result-actions button,.rules-panel>.pixel-primary,.result-panel .result-actions .pixel-primary{color:#fff;background:linear-gradient(#e8b2c8,#c97e9f);border-color:#fff2f7;outline-color:#704765;box-shadow:0 4px #714765}.pause-panel button:not(.pixel-primary),.result-panel .result-actions button:not(.pixel-primary){color:#4e526a;background:linear-gradient(#e8f7fa,#b9dce5)}.result-panel.failed,.result-panel.success{color:#563c58;background:linear-gradient(145deg,#f9edf3f5,#e2bed0f5);border-color:#fff2f7;outline-color:#704765;box-shadow:0 8px #714765,0 20px 48px #38243f77}.result-panel.success{border-color:#f5e1b5}.result-panel.failed h2,.result-panel.success h2{color:#563c58;text-shadow:0 3px #f9dce8}.result-panel.success h2 strong{color:#c29255}.result-panel.failed .result-stats span,.result-panel.success .result-stats span{color:#53657b;background:#effcff80;border-color:#a9dce7}.result-panel.failed .result-stats b,.result-panel.success .result-stats b{color:#563c58}.result-panel.success .milestone-card{background:#fff9fb;border-color:#e2b5c7}.toast{background:#81506ce8;border-color:#fff2f7;outline-color:#704765}.game-shell.screen-home{background:#6dcef1;border-color:#17253a;box-shadow:0 20px 80px #020718aa}.home-screen.home-redesign{background:linear-gradient(#071331db 0%,#101c4a7d 45%,#080e29e8 100%),url(/assets/run-bg-indoor-arena-v3.jpg?v=8) 50%/cover no-repeat}.home-atmosphere{background:radial-gradient(circle at 83% 38%,#f47ac436 0 12%,#0000 35%),linear-gradient(90deg,#060e2ecc 0 49%,#060e2e55 68%,#0000 100%)}.home-redesign .mute-button{background:#161d4e88;border-color:#f9e9ff;box-shadow:0 0 12px #8b7ee855}.home-headline p{color:#ffc2ed;text-shadow:0 2px #7b497f,0 4px 7px #080c32aa}.home-headline h1{color:#f5ebff;text-shadow:0 3px #794486,0 6px 10px #080c32bb}.home-mission{color:#f7f4ff}.home-mission b{color:#ffb9df}.home-mission i{color:#91e7ff}.home-song-list{background:#111a46b8;border-color:#c6c6f05c;box-shadow:0 8px 20px #05082755}.home-song-list h2{color:#dedcff}.home-track-options button{background:#28315b8c}.home-track-options button.selected{background:#593762c9;border-color:#ff8bc9;box-shadow:0 0 9px #ff62b675}.home-track-options button small{color:#c8c8e8}.home-track-options button em{color:#fff2c7}.home-track-options button i{color:#ff9cce}.home-track-options>p{color:#e3dcf6}.home-rules-link{color:#c9c9ea}.home-mascot{filter:drop-shadow(0 13px 12px #07062699)drop-shadow(0 0 10px #ff88ca66)}.home-start-cta{color:#281438;background:linear-gradient(#ffb1d9,#df659e);border-color:#ffd6ed;outline-color:#5f376f;box-shadow:0 4px #49215f,0 0 18px #ff75bd66}.run-hud{z-index:6;top:max(12px, env(safe-area-inset-top));width:100%;left:0;transform:none}.ticket-score{background:linear-gradient(135deg,#fffdf8 0%,#fff7ea 100%);border:3px solid #fffdf8;border-radius:17px;outline:2px solid #8edbcf;justify-content:flex-start;gap:6px;width:122px;min-height:50px;padding:5px 6px;position:absolute;top:0;left:12px;box-shadow:0 4px #73b9b2,0 7px 15px #39204a66}.ticket-score img{filter:drop-shadow(0 2px #51235f);width:31px;height:29px}.ticket-score small{color:#543460;letter-spacing:.04em;font-size:8px}.ticket-score b{color:#512b60;letter-spacing:-.05em;font-size:18px}.ticket-score b strong{color:#e3c139;font:inherit}.powerup-hud{pointer-events:none;gap:0;width:auto;min-height:0;display:flex;position:absolute;top:0;left:calc(50% + 36px);transform:translate(-50%)}.powerup-card,.powerup-hud:not(.single) .powerup-card{background:linear-gradient(135deg,#fffdf8 0%,#fff7ea 100%);border:3px solid #fffdf8;border-radius:17px;outline:2px solid #8edbcf;gap:3px;min-height:50px;padding:4px;box-shadow:0 4px #73b9b2,0 7px 15px #39204a55;width:86px!important}.powerup-card img{filter:drop-shadow(0 2px #51235f);width:22px;height:29px}.powerup-card small{color:#543460;font-size:8px}.powerup-card b{color:#512b60;margin-top:4px;font-size:14px}.floating-pause-button{color:#512b60;pointer-events:auto;background:linear-gradient(135deg,#fffdf8 0%,#fff7ea 100%);border:3px solid #fffdf8;border-radius:17px;outline:2px solid #8edbcf;width:50px;height:50px;min-height:50px;margin-left:0;padding:0;position:absolute;top:0;right:12px;box-shadow:0 4px #73b9b2,0 7px 15px #39204a55}.pause-icon{justify-content:center;align-items:center;gap:7px;width:100%;height:100%;display:inline-flex}.pause-icon i{background:#512b60;width:7px;height:22px;display:block}.pause-panel h2,.result-panel h2,.result-panel.failed h2,.result-panel.success h2{white-space:nowrap;font-size:22px}.result-panel.success h2 strong{margin-top:0;font-size:1em;display:inline}@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}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
