@font-face{font-family:ValleyBrush;src:url(/assets/fonts/brush-title.woff2) format("woff2");font-display:swap}:root{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;color:#fff6dd;background:#332a22;font-synthesis:none;--paper:#fff6dd;--ink:#332a22;--ochre:#efb943;--earth:#766647}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button{font:inherit;cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:3px solid #fff6dd;outline-offset:4px}button:disabled{cursor:default}button svg{width:22px;height:22px;flex-shrink:0}::selection{background:#efb943;color:#332a22}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}#game{position:relative;width:100%;height:100vh;height:100dvh;overflow:hidden;isolation:isolate;touch-action:none;background:#a79e70}canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;z-index:-3}.vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-1;background:linear-gradient(180deg,rgba(49,40,29,.33) 0%,transparent 23%,transparent 45%,rgba(38,32,22,.8) 100%)}.topbar{position:absolute;top:max(24px,env(safe-area-inset-top));left:max(32px,env(safe-area-inset-left));right:max(32px,env(safe-area-inset-right));display:flex;align-items:center;justify-content:space-between;z-index:10}.wordmark{display:flex;align-items:center;gap:12px;text-shadow:0 2px 6px #493b2a80}.wordmark strong{font-family:ValleyBrush,Songti SC,serif;font-size:37px;font-weight:400;line-height:1}.wordmark span{font-size:11px;letter-spacing:.18em;writing-mode:vertical-rl;line-height:1.3;max-height:40px}.settings{display:flex;gap:8px}.icon-button{width:44px;height:44px;background:#332a228c;border:1px solid #fff6dd2e;border-radius:50%;display:grid;place-items:center;transition:background .2s}.icon-button:hover{background:#332a22d1}.icon-button[aria-pressed=false]{opacity:.65}.icon-button svg{width:19px;height:19px}#home{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.home-title{position:absolute;top:17%;left:8%;text-shadow:0 3px 10px #332a2266}.home-title h1{font-family:ValleyBrush,Songti SC,serif;font-size:clamp(50px,7.5vw,94px);line-height:1.15;letter-spacing:-.02em;font-weight:400;margin:0}.home-title p{margin:17px 0 0;font-size:13px;line-height:1.6;color:#fff6dd}.menu-bottom{pointer-events:auto;position:absolute;bottom:max(22px,env(safe-area-inset-bottom));left:8%;width:360px;max-width:84%}.character-info{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.character-info>strong{font-size:24px;font-weight:700}.character-info>span{font-size:12px}.model-note{margin-left:auto;color:#f2dcb6;font-size:10px!important}.characters{display:flex;gap:7px}.character{flex:1;border:1px solid #fff6dd54;border-radius:8px;background:#332a22b0;padding:12px 7px;text-align:left;transition:background .18s,border-color .18s}.character>span{display:block;font-size:16px;font-weight:600;white-space:nowrap}.character>small{display:block;color:#e8d6b7;font-size:10px;margin-top:5px}.character[aria-pressed=true]{color:#332a22;background:#efb943;border-color:transparent}.character[aria-pressed=true]>small{color:#584121}.character:hover{border-color:#efb943}.description{font-size:12px;line-height:1.65;color:#fff0d4;margin:10px 0 13px;min-height:40px}.modes{border:0;margin:0 0 12px;padding:0;display:flex;gap:16px}.modes button{min-height:44px;background:none;border:none;padding:8px 0;color:#dfcaab;font-size:13px;position:relative}.modes button:before{content:"";display:inline-block;width:9px;height:9px;border:1px solid currentColor;border-radius:50%;margin-right:6px}.modes button[aria-pressed=true]{color:#ffda85}.modes button[aria-pressed=true]:before{background:#efb943;border-color:#efb943}.modes button span{font-size:10px;margin-left:6px;opacity:.85}.primary{display:flex;align-items:center;justify-content:center;gap:14px;background:#efb943;color:#332a22;font-weight:700;min-height:54px;border:0;border-radius:8px;width:100%;padding:13px 20px;box-shadow:0 5px 18px #1d180e40;transition:background .15s,transform .15s}.primary:hover{background:#ffd477}.primary:active{transform:translateY(2px)}.start{justify-content:space-between;font-size:18px}.control-help{color:#ead7b4;font-size:11px;line-height:1.5;margin:12px 0 0}.version-note{font-size:10px;color:#d9c6a5;margin:12px 0 0;display:flex;justify-content:space-between;gap:15px}#hud{position:absolute;left:32px;top:94px;width:310px;max-width:calc(100% - 64px);font-variant-numeric:tabular-nums;text-shadow:0 2px 5px #332a2259}.health-line{display:flex;gap:14px;align-items:center}.health-track{position:relative;flex:1;height:19px;background:#342d239c;border:1px solid #fff6dd85;border-radius:3px;overflow:hidden}.health-track i{height:100%;display:block;background:#738c48;transition:width .1s}.health-track span{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}.health-line>strong{font-size:20px;color:#ffe2a0}.exp-track{margin-top:6px;width:calc(100% - 58px);height:5px;background:#332a2273;border-radius:2px;overflow:hidden}.exp-track i{display:block;background:#82c6b3;height:100%;transition:width .1s}.run-stats{display:flex;gap:18px;margin-top:12px;font-size:12px}.run-stats>#timer{font-size:18px;line-height:1;font-weight:700;min-width:52px}.run-stats b{font-weight:700}.run-stats>#combo{color:#ffdc88;margin-left:auto;font-weight:700}.run-stats~p{font-size:11px;line-height:1.5;color:#fff2d4;max-width:280px;margin:10px 0}#boss-hud{margin-top:10px;display:flex;align-items:center;gap:9px;font-size:11px;color:#ffe4b4}#boss-hud progress{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;height:7px;width:150px}progress::-webkit-progress-bar{background:#332a2273}progress::-webkit-progress-value{background:#ac5a3f}#notice{position:absolute;top:29%;left:50%;transform:translate(-50%);max-width:85%;width:max-content;text-align:center;color:#fff6dd;background:#332a22d9;padding:11px 18px;border-radius:7px;font-size:13px;line-height:1.5;opacity:0;transition:opacity .2s;pointer-events:none;z-index:8}#notice.visible{opacity:1}#controls{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9}.movement{position:absolute;left:max(32px,env(safe-area-inset-left));bottom:max(25px,env(safe-area-inset-bottom));display:flex;align-items:center;flex-direction:column;gap:7px}.movement>span,.keyboard-hint{font-size:10px;color:#f5e4c4;text-shadow:0 2px 4px #332a22}.movement>span{pointer-events:none}#joystick{position:relative;width:122px;height:122px;pointer-events:auto;border:1px solid #fff6dd54;border-radius:50%;background:#332a2242;touch-action:none;-webkit-user-select:none;user-select:none}.joystick-cross{position:absolute;top:25%;right:25%;bottom:25%;left:25%;border:1px solid #fff6dd2e;border-radius:50%}.joystick-cross:after,.joystick-cross:before{content:"";position:absolute;background:#fff6dd30}.joystick-cross:after{width:1px;height:100%;left:50%}.joystick-cross:before{height:1px;width:100%;top:50%}#thumb{width:48px;height:48px;position:absolute;top:calc(50% - 24px);left:calc(50% - 24px);background:#f4e4bbbf;border-radius:50%;box-shadow:0 4px 10px #332a2250;pointer-events:none;will-change:transform}.skill-control{position:absolute;bottom:max(25px,env(safe-area-inset-bottom));right:max(32px,env(safe-area-inset-right));display:flex;align-items:center;flex-direction:column;gap:7px}#skill{width:116px;height:116px;position:relative;overflow:hidden;border:1px solid #ffe4a6c9;border-radius:50%;background:#6e512dd1;pointer-events:auto;-webkit-user-select:none;user-select:none;touch-action:none;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px;color:#fff1ce;box-shadow:0 4px 15px #332a2247}#skill>.charge-fill{position:absolute;inset:auto 0 0;height:calc(var(--charge,0) * 1%);background:#e6b34c;pointer-events:none}#skill .skill-icon,#skill>strong,#skill>small{z-index:1}#skill .skill-icon svg{width:31px;height:31px}#skill>strong{font-size:13px;margin-top:2px}#skill>small{font-size:8px;margin-top:4px;white-space:nowrap}#skill.held{background:#91672a}#skill.cooling{background:#4e473be8;border-color:#b9ae93}#skill.cooling .skill-icon,#skill.cooling>strong,#skill.cooling>small{opacity:.3}#skill-cooldown{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:25px;font-weight:700}#overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;background:#29251cbf;display:flex;align-items:center;justify-content:center;padding:22px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.panel{width:370px;max-width:100%;max-height:calc(100dvh - 44px);overflow:auto;padding:30px 25px 24px;background:#f6ecd3;color:#332a22;border-radius:12px;box-shadow:0 12px 35px #17130c45;scrollbar-width:thin;scrollbar-color:#a78b57 #e7d8b9}.panel h2{font-family:ValleyBrush,Songti SC,serif;font-size:38px;line-height:1.25;font-weight:400;letter-spacing:-.02em;margin:0 0 12px}.panel>p{font-size:13px;line-height:1.65;color:#746048;margin:0 0 25px}.panel .primary{box-shadow:none}.panel button:focus-visible{outline-color:#8f5a22}.secondary{width:100%;border:1px solid #ac9470;border-radius:8px;min-height:48px;background:transparent;color:#5d482d;margin-top:12px}.text-button{display:block;border:0;background:none;min-height:44px;color:#725431;font-size:13px;padding:10px;margin:10px auto 0;text-decoration:underline;text-underline-offset:4px}.upgrade-list{display:flex;flex-direction:column;gap:12px}.upgrade{display:flex;align-items:center;gap:14px;padding:15px 12px;background:#e6d8b8;border:0;border-radius:8px;text-align:left;min-height:86px}.upgrade:hover{background:#dfc894}.upgrade>span:nth-child(2){flex:1}.upgrade strong{display:block;font-size:17px}.upgrade small{display:block;font-size:12px;line-height:1.5;color:#715737;margin-top:5px}.upgrade-icon{color:#8a642e;width:32px}.upgrade-icon>svg{width:30px;height:30px}.upgrade>svg{width:17px;height:17px;color:#8a642e}.result-stats{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px;margin:25px 0 30px;font-variant-numeric:tabular-nums}.result-stats dt{font-size:11px;color:#746048;margin-bottom:5px}.result-stats dd{font-size:27px;font-weight:700;margin:0}.damage-number{position:absolute;font-size:23px;font-weight:800;color:#fff4cf;text-shadow:0 2px 2px #3f2d15,1px 0 #6a4f2b;transform:translate(-50%);font-variant-numeric:tabular-nums}#floats{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:6}#hurt-flash{position:absolute;top:0;right:0;bottom:0;left:0;background:#a34030;pointer-events:none;z-index:7;opacity:0}.fatal{max-width:460px;margin:15vh auto;background:#fff6dd;padding:30px;color:#332a22;border-radius:8px}.fatal h1{font-size:28px}.fatal p{line-height:1.7}.fatal button{padding:14px 20px;color:#332a22;background:#efb943;border:0;border-radius:6px}@media (min-width:1000px){.topbar{left:5%;right:5%}.home-title{left:8%;top:20%}.menu-bottom{width:370px}.home-title h1{font-size:88px}#hud{left:5%;top:105px;width:340px}.movement{left:6%;bottom:40px}.skill-control{right:6%;bottom:40px}.vignette{background:linear-gradient(90deg,#332a2259,transparent 55%),linear-gradient(0deg,#332a22b3,transparent 55%)}}@media (max-width:599px){.topbar{top:max(18px,env(safe-area-inset-top));left:22px;right:20px}.wordmark strong{font-size:31px}.wordmark span{font-size:9px;max-height:34px}.settings{gap:6px}.icon-button{width:44px;height:44px}.home-title{top:13%;left:7%}.home-title h1{font-size:54px}.home-title p{font-size:11px;margin-top:12px}.menu-bottom{left:7%;max-width:86%;width:86%;bottom:max(18px,env(safe-area-inset-bottom))}.character-info{margin-bottom:10px}.character-info>strong{font-size:23px}.character{padding:10px 9px}.character>span{font-size:15px}.character>small{font-size:9px}.description{font-size:11px;margin:9px 0 7px;min-height:35px}.modes{margin-bottom:9px}.primary{min-height:50px}.control-help{font-size:10px;margin-top:10px}.version-note{margin-top:9px;font-size:9px}.model-note{font-size:9px!important}#hud{left:22px;top:83px;width:calc(100% - 44px);max-width:none}.health-line{gap:12px}.health-line>strong{font-size:18px}.health-track{height:18px}.run-stats{margin-top:11px;gap:16px}.run-stats~p{margin-top:8px}.movement{left:23px;bottom:max(23px,env(safe-area-inset-bottom))}#joystick{width:112px;height:112px}.skill-control{right:23px;bottom:max(23px,env(safe-area-inset-bottom))}#skill{width:110px;height:110px}.panel{padding:28px 21px 21px}.panel h2{font-size:35px}#notice{font-size:12px;padding:10px 14px;top:27%}.vignette{background:linear-gradient(0deg,#292518eb 0%,#292518bf 18%,transparent 52%),linear-gradient(180deg,#463c2c52,transparent 25%)}}@media (max-height:700px) and (max-width:599px){.home-title{top:13%}.home-title h1{font-size:40px}.home-title p{display:none}.menu-bottom{bottom:12px}.character-info{margin-bottom:6px}.character-info>strong{font-size:20px}.character{padding:8px}.description{font-size:10px;min-height:28px;margin:6px 0}.modes{margin-bottom:7px}.modes button{font-size:12px;padding:5px 0}.modes button span{font-size:9px}.control-help{margin:7px 0 0}.version-note{margin:6px 0 0}.start{min-height:46px}.model-note{display:none}#joystick,#skill{width:98px;height:98px}.panel h2{font-size:30px}.upgrade{min-height:76px;padding:12px}.upgrade-list{gap:10px}}@media (prefers-reduced-motion:reduce){button,.health-track i,.exp-track i,#notice{transition:none}}.voice-preview{background:none;border:0;border-bottom:1px solid #e8cd99;min-height:44px;padding:5px 0;color:#fff1cd;font-size:11px}.voice-preview[data-status=failed]{color:#ffc5a0}.home-title h1{font-size:clamp(44px,6.5vw,78px)}@media (max-width:599px){.home-title h1{font-size:45px}.home-title{top:12%}}.home-title h1{font-size:46px}.description{min-height:0}.home-title{top:14%}@media (max-width:599px){.home-title h1{font-size:40px}.home-title{top:13%}.description{min-height:0}}.shop-entry{pointer-events:auto;position:absolute;right:5%;top:100px;display:flex;align-items:center;gap:14px;min-height:44px;padding:8px 14px;background:#332a22b8;border:1px solid #fff6dd45;border-radius:8px;color:#fff6dd;font-size:13px}.shop-entry span{color:#ffdc88;font-weight:700;font-variant-numeric:tabular-nums}#run-coins{color:#ffdc88;white-space:nowrap}.run-stats{gap:12px}.run-stats>#combo{font-size:10px}#ability-state{margin-top:4px;color:#d2f3e4;font-size:11px}#dash{pointer-events:auto;min-width:100px;min-height:46px;border:1px solid #ffe4a6a0;border-radius:8px;background:#5c593ce6;position:absolute;bottom:150px;right:8px;color:#fff6dd;padding:8px 12px;white-space:nowrap}#dash small{font-size:10px;margin-left:5px;color:#e4d0a8}#dash:disabled{opacity:.6}.upgrade strong em{font-style:normal;font-size:11px;color:#715737;white-space:nowrap}#overlay.shop-mode{align-items:flex-end;padding:0;background:linear-gradient(0deg,#29251c99,transparent 80%);-webkit-backdrop-filter:none;backdrop-filter:none}.panel.shop-panel{width:480px;max-height:56dvh;border-radius:14px 14px 0 0;padding:16px 22px 20px;box-shadow:0 -6px 24px #17130c40}.shop-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.shop-heading h2{font-size:28px;margin:0}.shop-close{width:44px;height:44px;border:0;background:transparent;color:#5d482d;display:grid;place-items:center}.shop-balance{display:flex;align-items:center;gap:8px;margin:0 0 8px!important;color:#5d482d!important;font-size:12px!important}.shop-balance svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7}.shop-balance>span{font-size:10px;margin-left:auto}.shop-tabs{display:flex;border-bottom:1px solid #ad9572;gap:12px}.shop-tabs button{flex:1;border:0;background:transparent;min-height:44px;color:#705435;font-size:14px}.shop-tabs [aria-pressed=true]{font-weight:700;color:#332a22;box-shadow:inset 0 -3px #b17e25}.skin-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;min-height:64px;padding:10px 0;border:0;border-bottom:1px solid #c8b48f;background:transparent;color:#332a22}.skin-option:last-child{border-bottom:0}.skin-option strong{font-size:15px;display:block}.skin-option small{font-size:11px;color:#705435;display:block;margin-top:4px}.skin-option b{font-size:11px;white-space:nowrap;color:#725016}.skin-option[aria-pressed=true] b{color:#3a643d}.skin-option:disabled{opacity:.7}.skin-option:not(:disabled):hover{background:#e8daba}@media (max-width:599px){.shop-entry{top:21%;right:7%;min-height:44px;font-size:12px;gap:10px;padding:8px 12px}.shop-panel .shop-balance>span{max-width:145px;line-height:1.5}.panel.shop-panel{padding:12px 18px 14px;max-height:56dvh}.shop-heading h2{font-size:25px}.skin-option{min-height:62px}.run-stats{gap:10px}.run-stats>#combo{display:none}#dash{bottom:138px;right:2px;min-width:96px}#ability-state{font-size:10px}}.panel.shop-panel{max-height:64dvh}.skin-option{min-height:56px;padding:7px 0}.shop-buy{min-height:44px;margin-top:10px;font-size:13px}.shop-buy:disabled{background:#d5c8aa;color:#756246;box-shadow:none}.skin-option[aria-pressed=true]{background:#e8daba;padding-left:8px;padding-right:8px}#hud{padding:12px;background:#332a22e6;border-radius:8px;text-shadow:none;box-shadow:0 5px 16px #1d180e26}.run-stats>#run-coins{color:#ffdc88}#ability-state{color:#d2f3e4;line-height:1.5}#hud .run-stats~p{margin-bottom:0}.skin-thumbnail{width:42px;height:48px;object-fit:contain;flex:none}.skin-copy{flex:1;min-width:0}.skin-original{width:42px;height:48px;flex:none;display:grid;place-items:center;font-family:ValleyBrush,serif;font-size:27px;color:#8f5a22}.skin-provenance{font-size:10px!important;line-height:1.5!important;margin:9px 0 0!important;color:#705435!important}.skin-provenance a{color:#704618;text-underline-offset:3px}.skin-provenance a:focus-visible{outline:2px solid #8f5a22;outline-offset:3px}.skin-provenance>span{display:block;color:#87422d}.skin-option{gap:10px;min-height:62px}.skin-option small{line-height:1.4}.panel.shop-panel{max-height:62dvh}.shop-buy{margin-top:8px}@media (max-height:700px){.panel.shop-panel{max-height:64dvh}.skin-option{min-height:52px}.skin-thumbnail,.skin-original{height:38px}.skin-provenance{margin-top:5px!important}}
