:root{--cream:#fff6e0;--brown:#7a3b12;--orange:#f2a65a;--orange-dark:#b3541e;--ink:#1f1a17;--panel:#fffaf0f5}html,body{width:100%;height:100%;color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none;margin:0;padding:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Hiragino Sans,Noto Sans JP,sans-serif;overflow:hidden}body{background-color:#3b2a1f;background-image:radial-gradient(circle at 30% 30%,#ffffff0f 0 7px,#0000 8px),radial-gradient(circle at 70% 70%,#ffffff0f 0 7px,#0000 8px);background-size:48px 48px}#app{position:fixed;top:0;bottom:0;left:0;right:0}#stage{--u:4px;width:100%;height:100%;font-size:calc(var(--u) * 3.2);position:absolute;top:0;left:0;overflow:hidden}#game{width:100%;height:100%;display:block}#ui,#loading{position:absolute;top:0;bottom:0;left:0;right:0}#loading{justify-content:center;align-items:center;gap:calc(var(--u) * 3);color:var(--ink);text-align:center;background:#8fd3ff;flex-direction:column;padding:0 5%;font-weight:700;display:flex}.loading-paw{gap:calc(var(--u) * 2);display:flex}.loading-paw span{width:calc(var(--u) * 3.5);height:calc(var(--u) * 3.5);background:var(--orange-dark);border-radius:50%;animation:.9s ease-in-out infinite bounce}.loading-paw span:nth-child(2){animation-delay:.15s}.loading-paw span:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,to{opacity:.5;transform:translateY(0)}50%{transform:translateY(calc(var(--u) * -2));opacity:1}}#app[data-system-paused=true] *{animation-play-state:paused!important}.screen{justify-content:center;align-items:center;gap:calc(var(--u) * 2.5);text-align:center;padding:calc(var(--u) * 4);box-sizing:border-box;flex-direction:column;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.title{font-size:calc(var(--u) * 14);letter-spacing:.02em;color:var(--cream);text-shadow:0 calc(var(--u) * .6) 0 var(--orange-dark), 0 calc(var(--u) * 1.2) calc(var(--u) * 2.5) #00000073;margin:0 0 calc(var(--u) * 2);font-weight:900}.heading{margin:0 0 calc(var(--u) * 1);font-size:calc(var(--u) * 6);color:var(--brown)}.menu{gap:calc(var(--u) * 2);width:min(100%, calc(var(--u) * 60));flex-direction:column;display:flex}.btn{font:inherit;font-weight:800;font-size:calc(var(--u) * 4.2);min-height:max(48px, calc(var(--u) * 11));min-width:calc(var(--u) * 40);padding:0 calc(var(--u) * 5);border:calc(var(--u) * .6) solid var(--brown);border-radius:calc(var(--u) * 3);background:var(--cream);color:var(--brown);cursor:pointer;box-shadow:0 calc(var(--u) * .8) 0 var(--brown)}.btn:active{transform:translateY(calc(var(--u) * .6));box-shadow:0 calc(var(--u) * .2) 0 var(--brown)}.btn:focus-visible{outline:calc(var(--u) * .8) solid #1a73e8;outline-offset:calc(var(--u) * .6)}.btn-icon:focus-visible{outline:calc(var(--u) * .8) solid #1a73e8;outline-offset:calc(var(--u) * .6)}input[type=range]:focus-visible{outline:calc(var(--u) * .8) solid #1a73e8;outline-offset:calc(var(--u) * .6)}.btn-primary{background:var(--orange);color:var(--ink)}.btn-small{min-width:calc(var(--u) * 24);min-height:max(44px, calc(var(--u) * 8));font-size:calc(var(--u) * 3.4)}.btn.is-active{background:var(--brown);color:var(--cream)}.lang-row{gap:calc(var(--u) * 2);display:flex}.note{font-size:calc(var(--u) * 3.2);color:var(--ink);padding:calc(var(--u) * .8) calc(var(--u) * 2.5);background:#fffc;border-radius:999px;font-weight:700}.note-warn{color:#5c3c00;border-radius:calc(var(--u) * 2);max-width:calc(var(--u) * 80);background:#fff3cd}.version{font-size:calc(var(--u) * 2.4);color:var(--cream);opacity:.85;font-weight:700}.screen-panel{background:#1f1a179e}.screen-panel .heading{color:var(--cream);text-shadow:0 calc(var(--u) * .4) 0 var(--orange-dark)}.screen-panel>*{max-width:100%}.overlay{position:absolute;top:0;bottom:0;left:0;right:0}.slider{gap:calc(var(--u) * 1);width:min(100%, calc(var(--u) * 70));background:var(--panel);border-radius:calc(var(--u) * 3);padding:calc(var(--u) * 2.5) calc(var(--u) * 4);box-sizing:border-box;color:var(--brown);grid-template-columns:1fr;font-weight:800;display:grid}.slider input{width:100%;height:max(32px, calc(var(--u) * 6));accent-color:var(--orange-dark)}.screen-play{pointer-events:none;padding:calc(var(--u) * 2);justify-content:flex-start}.screen-play .hud{pointer-events:auto}.hud{align-items:stretch;gap:calc(var(--u) * .8);width:min(100%, calc(var(--u) * 62));border-radius:calc(var(--u) * 3);padding:calc(var(--u) * 1.2) calc(var(--u) * 2.4);box-sizing:border-box;box-shadow:0 calc(var(--u) * .5) calc(var(--u) * 1.5) #00000026;background:#ffffffe6;flex-direction:column;font-weight:800;display:flex}.hud-row{align-items:center;gap:calc(var(--u) * 1.5);display:flex}.hud-level{font-size:calc(var(--u) * 3.6);color:var(--brown)}.hud-sep{flex:1}.hud-time{font-size:calc(var(--u) * 5);font-variant-numeric:tabular-nums}.hud-limit{font-size:calc(var(--u) * 3);color:#6b5a4d;margin-right:auto}.hud-bars{align-items:center;gap:calc(var(--u) * 1.5);display:flex}.bar-label{width:calc(var(--u) * 7);font-size:calc(var(--u) * 2.6);color:var(--brown)}.bar{height:calc(var(--u) * 2.2);background:#e8dccb;border-radius:999px;flex:1;min-height:6px;overflow:hidden}.bar-fill{border-radius:999px;width:100%;height:100%;transition:width .12s linear}.bar-hp .bar-fill{background:#3aa655}.bar-hp.is-low .bar-fill{background:#d93838}.bar-hp.is-healed{animation:.5s ease-out heal-glow}@keyframes heal-glow{0%{box-shadow:0 0 0 calc(var(--u) * 1) #78ff96e6}to{box-shadow:0 0 #78ff9600}}.bar-xp .bar-fill{background:#2f8fd8;width:0}.hud-kills-row{font-size:calc(var(--u) * 2.8);color:var(--brown);text-align:left}.btn-icon{width:max(44px, calc(var(--u) * 9));height:max(44px, calc(var(--u) * 9));border:calc(var(--u) * .5) solid var(--brown);background:var(--orange);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.icon-pause{border-left:calc(var(--u) * 1.2) solid var(--ink);border-right:calc(var(--u) * 1.2) solid var(--ink);box-sizing:border-box;width:38%;height:40%}.stick{width:calc(var(--u) * 26);height:calc(var(--u) * 26);margin:calc(var(--u) * -13) 0 0 calc(var(--u) * -13);border:calc(var(--u) * .6) solid #ffffffb3;opacity:0;pointer-events:none;background:#ffffff26;border-radius:50%;transition:opacity .1s;position:absolute}.stick.is-visible{opacity:1}.stick-knob{width:calc(var(--u) * 10);height:calc(var(--u) * 10);background:#ffffffd9;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hint,.toast{color:#fff;border-radius:calc(var(--u) * 2);padding:calc(var(--u) * 1.2) calc(var(--u) * 3);white-space:nowrap;text-overflow:ellipsis;background:#1f1a17cc;max-width:90%;font-weight:700;transition:opacity .4s;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.hint{bottom:calc(var(--u) * 11);font-size:calc(var(--u) * 2.8)}.hint.is-hidden{opacity:0}.toast{bottom:calc(var(--u) * 2);font-size:calc(var(--u) * 3.6);opacity:0}.toast.is-visible{opacity:1}.cards{justify-content:center;gap:calc(var(--u) * 2);flex-wrap:wrap;width:100%;display:flex}.card[aria-disabled=true]{pointer-events:none;opacity:.8}.card{font:inherit;align-items:center;gap:calc(var(--u) * 1);width:min(100%, calc(var(--u) * 44));min-height:max(64px, calc(var(--u) * 20));padding:calc(var(--u) * 2) calc(var(--u) * 3);border:calc(var(--u) * .6) solid var(--brown);border-radius:calc(var(--u) * 3);background:var(--cream);color:var(--ink);cursor:pointer;box-shadow:0 calc(var(--u) * .8) 0 var(--brown);flex-direction:column;display:flex;position:relative}.card:focus-visible{outline:calc(var(--u) * .8) solid #1a73e8;outline-offset:calc(var(--u) * .6)}.card-attack{border-top:calc(var(--u) * 1.6) solid #d9534f}.card-body{border-top:calc(var(--u) * 1.6) solid #3aa655}.card-support{border-top:calc(var(--u) * 1.6) solid #2f8fd8}.card-badge{font-size:calc(var(--u) * 2.6);color:#6b5a4d;font-weight:800}.card-badge.is-new{color:#fff;padding:0 calc(var(--u) * 1.5);background:#d9534f;border-radius:999px}.card-key{left:calc(var(--u) * 1.5);top:calc(var(--u) * 1);font-size:calc(var(--u) * 2.6);color:#6b5a4d;position:absolute}.card-name{font-size:calc(var(--u) * 4);color:var(--brown);font-weight:900}.card-desc{font-size:calc(var(--u) * 3);font-weight:700}.card-stars{font-size:calc(var(--u) * 3);color:#7a6653;letter-spacing:.1em}.card-stars .star-have{color:#985a00}.card-stars .star-next{color:#c9300f;animation:.8s ease-in-out infinite alternate star-blink}@keyframes star-blink{0%{opacity:1}to{opacity:.35}}.result-stats{gap:calc(var(--u) * .8);background:var(--panel);border-radius:calc(var(--u) * 3);padding:calc(var(--u) * 2) calc(var(--u) * 5);font-size:calc(var(--u) * 4);color:var(--ink);font-weight:800;display:grid}.result-best{color:#b3541e}.fps{color:#fff;pointer-events:none;background:#0009;border-radius:4px;padding:2px 6px;font:700 12px monospace;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}#stage[data-shape=wide] .hud{align-items:center;gap:calc(var(--u) * 2);width:min(100%, calc(var(--u) * 170));padding:calc(var(--u) * .8) calc(var(--u) * 1) calc(var(--u) * .8) calc(var(--u) * 2.5);flex-direction:row}#stage[data-shape=wide] .hud-row{order:2}#stage[data-shape=wide] .hud-bars{flex:1}#stage[data-shape=wide] .bar-label{width:auto}#stage[data-shape=wide] .hud-kills-row{white-space:nowrap}#stage[data-shape=wide] .hud-limit{margin-right:0}.boss-hud{align-items:center;gap:calc(var(--u) * 1.5);width:min(100%, calc(var(--u) * 80));margin-top:calc(var(--u) * 1);border-radius:calc(var(--u) * 2);padding:calc(var(--u) * .8) calc(var(--u) * 2);box-sizing:border-box;background:#1f1a17d1;display:none}.boss-hud.is-visible{display:flex}.boss-name{color:#fff;font-weight:800;font-size:calc(var(--u) * 2.8);white-space:nowrap}.bar-boss{background:#5a4a40}.bar-boss .bar-fill{background:linear-gradient(90deg,#d9534f,#ff8a3d)}.stage-list{gap:calc(var(--u) * 1.8);width:min(100%, calc(var(--u) * 80));flex-direction:column;display:flex}.stage-card{font:inherit;align-items:flex-start;gap:calc(var(--u) * .6);min-height:max(56px, calc(var(--u) * 13));padding:calc(var(--u) * 1.8) calc(var(--u) * 3);border:calc(var(--u) * .6) solid var(--brown);border-radius:calc(var(--u) * 3);background:var(--cream);color:var(--ink);cursor:pointer;text-align:left;box-shadow:0 calc(var(--u) * .8) 0 var(--brown);flex-direction:column;display:flex}.stage-card:focus-visible{outline:calc(var(--u) * .8) solid #1a73e8;outline-offset:calc(var(--u) * .6)}.stage-card.is-cleared{background:#e8f6e2}.stage-card.is-locked{color:#5a4f45;cursor:default;box-shadow:none;background:#d8d0c6}.stage-name{font-size:calc(var(--u) * 4.2);color:var(--brown);font-weight:900}.stage-card.is-locked .stage-name{color:#6b5f55}.stage-info{align-items:center;gap:calc(var(--u) * 1.2);font-size:calc(var(--u) * 2.8);flex-wrap:wrap;font-weight:700;display:flex}.stage-best{margin-left:calc(var(--u) * 1.5)}.icon{flex:none;width:1.1em;height:1.1em;display:inline-block;position:relative}.icon-check{background:#2e7d32;border-radius:50%}.icon-check:after{content:"";border:.16em solid #fff;border-width:0 .16em .16em 0;width:26%;height:50%;position:absolute;top:16%;left:34%;transform:rotate(45deg)}.icon-lock:before{content:"";box-sizing:border-box;border:.14em solid;border-bottom:none;border-radius:.5em .5em 0 0;width:56%;height:58%;position:absolute;top:0;left:22%}.icon-lock:after{content:"";background:currentColor;border-radius:.14em;width:84%;height:56%;position:absolute;bottom:0;left:8%}.overlay-ending{background:linear-gradient(#ffd88a 0%,#ffb36b 55%,#f28a5a 100%)}.screen-ending{overflow-y:auto}.ending-stars{font-size:calc(var(--u) * 7);color:#fff6c9;text-shadow:0 calc(var(--u) * .5) 0 #c77d00;letter-spacing:.3em}.ending-title{font-size:calc(var(--u) * 8);color:#fff;text-shadow:0 calc(var(--u) * .6) 0 var(--orange-dark)}.ending-text{max-width:calc(var(--u) * 90);font-size:calc(var(--u) * 3.6);color:var(--ink);margin:0;font-weight:700}.ending-strong{font-size:calc(var(--u) * 4.2);color:#5a1f00;font-weight:900}.ending-small{font-size:calc(var(--u) * 2.8)}.dmg-layer{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.dmg{font-weight:900;font-size:calc(var(--u) * 4.2);color:#fff;-webkit-text-stroke:calc(var(--u) * .35) #2b1d14;paint-order:stroke fill;text-shadow:0 calc(var(--u) * .4) 0 #00000059;white-space:nowrap;will-change:transform, opacity;position:absolute;top:0;left:0}.dmg-big{color:#ffe066;font-size:calc(var(--u) * 5.6)}.dmg-hurt{color:#ff5a5a;font-size:calc(var(--u) * 5)}.dmg-heal{color:#7dff9a;font-size:calc(var(--u) * 4.6)}#stage:after{content:"";pointer-events:none;background:radial-gradient(#0000 60%,#0000002e 100%);position:absolute;top:0;bottom:0;left:0;right:0}.toggle{font:inherit;justify-content:space-between;align-items:center;gap:calc(var(--u) * 2);width:min(100%, calc(var(--u) * 70));min-height:max(44px, calc(var(--u) * 10));padding:calc(var(--u) * 1.5) calc(var(--u) * 4);border-radius:calc(var(--u) * 3);background:var(--panel);color:var(--brown);cursor:pointer;box-sizing:border-box;border:0;font-weight:800;display:flex}.toggle-state{min-width:calc(var(--u) * 12);padding:calc(var(--u) * .6) calc(var(--u) * 2);color:#3b3029;text-align:center;background:#cfc4b8;border-radius:999px}.toggle.is-on .toggle-state{color:#fff;background:#3aa655}.toggle:focus-visible{outline:calc(var(--u) * .8) solid #1a73e8;outline-offset:calc(var(--u) * .6)}#ui{z-index:2}.dmg-layer,#stage:after{z-index:1}.screen{justify-content:flex-start;overflow-y:auto}.screen>:first-child{margin-top:auto}.screen>:last-child{margin-bottom:auto}.screen-play>:first-child,.screen-play>:last-child{margin:0}.slider{grid-template-columns:calc(var(--u) * 14) 1fr calc(var(--u) * 10);padding:calc(var(--u) * 1) calc(var(--u) * 3);align-items:center}.slider-value{text-align:right}#stage[data-shape=wide] .screen{gap:calc(var(--u) * 1.8);padding:calc(var(--u) * 2.5)}#stage[data-shape=wide] .heading{margin:0}#stage[data-shape=wide] .screen>.heading:first-child{margin-top:auto}.howto-list{gap:calc(var(--u) * 1.6);width:min(100%, calc(var(--u) * 80));grid-template-columns:1fr;display:grid}.howto-row{align-items:center;gap:calc(var(--u) * 2.5);background:var(--cream);border:calc(var(--u) * .5) solid var(--brown);border-radius:calc(var(--u) * 3);padding:calc(var(--u) * 1) calc(var(--u) * 2.5);text-align:left;display:flex}.howto-row-bone{box-shadow:0 0 calc(var(--u) * 2) #ffc828cc;background:#fff3c4;border-color:#c98a00}.howto-icon{width:calc(var(--u) * 26);height:calc(var(--u) * 13);flex:none}.howto-text{overflow-wrap:anywhere;min-width:0;font-size:calc(var(--u) * 4.4);color:var(--ink);flex-direction:column;font-weight:900;line-height:1.2;display:flex}.howto-sub{font-size:calc(var(--u) * 2.8);color:#5a4a3e;font-weight:700}#stage[data-squat=true] .howto-list{width:min(100%, calc(var(--u) * 150));gap:calc(var(--u) * 1.4);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#stage[data-squat=true] .howto-row-bone{width:calc(50% - var(--u) * .7);box-sizing:border-box;grid-column:1/-1;justify-self:center}#stage[data-squat=true] .howto-row{gap:calc(var(--u) * 1.5);padding:calc(var(--u) * 1) calc(var(--u) * 1.5)}#stage[data-squat=true] .howto-icon{width:calc(var(--u) * 18);height:calc(var(--u) * 9)}#stage[data-squat=true] .howto-text{font-size:calc(var(--u) * 3.4)}#stage[data-squat=true] .howto-sub{font-size:calc(var(--u) * 2.4)}.hud-hard{font-size:calc(var(--u) * 2.8);color:#fff;padding:0 calc(var(--u) * 1.6);margin-right:calc(var(--u) * 1.5);letter-spacing:.06em;background:#b3261e;border-radius:999px;font-weight:900}.btn.btn-hard.is-active{color:#fff;background:#b3261e}.stage-list.is-hard .stage-card{box-shadow:0 calc(var(--u) * .8) 0 #8e1c16;border-color:#8e1c16}.ending-unlock{color:#fff;border-radius:calc(var(--u) * 2);padding:calc(var(--u) * 1) calc(var(--u) * 3);background:#b3261e;font-weight:900}
