:root{color-scheme:dark;font-family:Geist,PingFang HK,Microsoft JhengHei,system-ui,sans-serif;color:#ede6e3;background:#100e19;--mono: "IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;--gold: #f6c784;--muted: #b9acbd;--line: #4b4059;--inset: inset 0 2px #c1a8d321, inset 0 -2px #0b0915}*{box-sizing:border-box}[hidden]{display:none!important}body{min-height:100svh;display:grid;align-items:center;margin:0;background:radial-gradient(ellipse at 50% 35%,#251c30,#100e19 78%)}button{font:inherit;color:inherit}button:not(:disabled){cursor:pointer}button:focus-visible{outline:2px solid #f5d39d;outline-offset:3px}button:disabled{opacity:.58}.shell{width:min(1216px,calc(100% - 54px),calc((100svh - 205px)*1.918));min-width:min(520px,calc(100% - 30px));margin:21px auto}.titlebar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}h1{display:flex;align-items:center;gap:11px;margin:0;color:#f5dcc2;font-size:clamp(17px,2vw,24px);letter-spacing:.18em}.title-gem{width:17px;height:22px;background:linear-gradient(132deg,#fce0a4 0 45%,#c98850 46% 75%,#7c4b3d 76%);clip-path:polygon(40% 0,60% 0,60% 13%,78% 13%,78% 30%,100% 30%,100% 69%,78% 69%,78% 87%,60% 87%,60% 100%,40% 100%,40% 87%,22% 87%,22% 69%,0 69%,0 30%,22% 30%,22% 13%,40% 13%)}.toolbar{display:flex;gap:8px}.icon-button{width:38px;height:34px;display:grid;place-items:center;border:1px solid var(--line);background:#241d30;box-shadow:var(--inset)}.icon-button:not(:disabled):hover{background:#3a2d46;border-color:#8b7297}.sound-button{width:auto;min-width:48px;padding-inline:8px;font-size:12px;font-weight:650}.sound-button[aria-pressed=false]{color:var(--muted);text-decoration:line-through}.pause-icon{width:11px;height:13px;border-inline:3px solid #c7b1cd}.is-paused .pause-icon{background:#c7b1cd;border:0;clip-path:polygon(0 0,100% 50%,0 100%)}.expand-icon{width:14px;height:14px;border:2px solid #c7b1cd;clip-path:polygon(0 0,35% 0,35% 30%,65% 30%,65% 0,100% 0,100% 35%,70% 35%,70% 65%,100% 65%,100% 100%,65% 100%,65% 70%,35% 70%,35% 100%,0 100%,0 65%,30% 65%,30% 35%,0 35%)}.game{container-type:inline-size;overflow:hidden;border:2px solid var(--line);outline:1px solid #0b0811;background:#191423;box-shadow:0 15px 60px #0a0716a0,inset 0 2px #9580a627}.hud{min-height:63px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(12px,5vw,68px);padding:8px 20px}.hud-stat{width:min(100%,246px)}.xp-stat{justify-self:end}.hud-label{display:flex;justify-content:space-between;gap:6px;margin-bottom:6px;font:700 clamp(9px,1.3vw,12px)/1.2 var(--mono);white-space:nowrap}.hud-label span:last-child{color:var(--muted)}.xp-stat .hud-label span:first-child{color:#aadcf8}.meter{height:9px;padding:1px;border:1px solid #53475f;background:#0c0a14}.meter span{display:block;height:100%;transform:scaleX(var(--fill));transform-origin:left center}.health{--fill: 1}.health span{background:linear-gradient(#ff927c 0 34%,#cc4d60 35%)}.xp{--fill: 0}.xp span{background:linear-gradient(#b2e9ff 0 34%,#569acd 35%)}.timer{min-width:3.35em;color:#ffe5bb;text-align:center;font:700 clamp(22px,3.3vw,35px)/1 var(--mono);text-shadow:2px 2px #6b432d}.stage{position:relative;width:100%;aspect-ratio:1120 / 584;overflow:hidden;background:#20283a;outline:none;touch-action:none}#canvas,#canvas canvas{display:block;width:100%;height:100%}.overlay{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at center,#100c22ae,#09081550 48%,#09081522)}.dialog{width:min(390px,82%);padding:clamp(13px,2.9vw,31px) clamp(10px,2.7vw,26px);border:2px solid #89708b;background:#21182af5;box-shadow:var(--inset),0 0 0 3px #100d1c,6px 8px #08071388;text-align:center}.dialog h2{margin:0 0 9px;color:#ffebc7;font-size:clamp(20px,3.9vw,34px);letter-spacing:.035em;text-shadow:2px 2px #58393a}.dialog p{margin:0 0 18px;color:#d6c4cf;font-size:clamp(12px,1.6vw,15px);line-height:1.55}.primary{min-height:42px;padding:6px 20px;border:2px solid #e5aa70;background:#7b493c;box-shadow:inset 0 2px #ffda955c,inset 0 -2px #442b38,2px 3px #110c1a;color:#fff2cd;font-weight:750}.primary:not(:disabled):hover{background:#9a6149}.controls{min-height:78px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:11px;padding:8px 18px}.move-hint,.run-stat{color:var(--muted);font:600 clamp(10px,1.3vw,12px) var(--mono);white-space:nowrap}.run-stat{justify-self:end}.run-stat strong{margin-left:3px;color:#f5d1a5}.touch-hint{display:none}.skills{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.skill{--charge: 1;position:relative;min-height:52px;min-width:102px;padding:5px 8px 7px;display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;gap:2px 7px;align-items:center;overflow:hidden;text-align:left;border:1px solid #63536c;background:#241b30;box-shadow:var(--inset)}.skill img{grid-row:1 / span 2;image-rendering:pixelated;width:30px;height:25px}.skill:hover:not(:disabled){background:#39273c;border-color:var(--skill-color)}.skill:after{content:"";position:absolute;inset:auto 0 0;height:2px;background:var(--skill-color);transform:scaleX(var(--charge));transform-origin:left center}.skill-name{color:#eee1df;font-size:12px;font-weight:700;white-space:nowrap}.skill-state{color:var(--skill-color);font:700 10px var(--mono);white-space:nowrap}.skill.is-cooling img{opacity:.55}.skill.is-combo{border-color:var(--skill-color);background:#39273c}.skill[data-skill=ultimate]{background:#2b1d29;border-color:#8e653e}.skill[data-skill=ultimate]:disabled{opacity:.84}.skill[data-skill=ultimate].is-ready{background:#473023;border-color:#ffd58a;box-shadow:var(--inset),0 0 10px #ffb65f56}.skill[data-skill=ultimate].is-casting{border-color:#ffcf76}.skill[data-skill=ultimate]:after{height:3px}.notice{position:absolute;top:14%;left:50%;transform:translate(-50%);padding:6px 11px;border:1px solid #ab8861;background:#20182aed;color:#ffe2a7;font-size:13px;white-space:nowrap;pointer-events:none}.joystick{position:absolute;width:56px;height:56px;transform:translate(-50%,-50%);border:1px solid #f6c78488;border-radius:50%;background:#1d162ba0;pointer-events:none}.joystick span{display:block;width:24px;height:24px;margin:15px;transform:translate(var(--joy-x),var(--joy-y));border:1px solid #f6c784;border-radius:50%;background:#f6c78455}.shell:fullscreen{width:100%;height:100%;padding:9px;overflow:auto;background:#100e19}.shell:fullscreen .titlebar,.shell:fullscreen .game{max-width:min(100%,calc((100svh - 185px)*1.918));margin-inline:auto}@media(max-width:750px){.shell{width:calc(100% - 20px);min-width:0;margin:12px auto}.titlebar{margin-bottom:7px}.hud{min-height:49px;padding:6px 9px}.dialog h2{margin-bottom:5px}.dialog p{margin-bottom:10px}}@container (max-width: 970px){.controls{grid-template-columns:1fr auto;gap:6px 8px;padding:6px 8px 8px}.move-hint,.run-stat{grid-row:1}.skills{grid-column:1 / -1;gap:4px}.skill{min-width:0;min-height:44px;gap:1px 4px;padding:4px 4px 6px;grid-template-columns:21px 1fr}.skill img{width:21px;height:18px}.skill-name{font-size:clamp(10px,2.9vw,12px)}.skill-state{font-size:9px}}@container (max-width: 640px){.skills{grid-template-columns:repeat(3,minmax(0,1fr))}.skill[data-skill=ultimate]{grid-column:1 / -1}}@media(pointer:coarse){.key-hint{display:none}.touch-hint{display:inline}.skill:not(.is-cooling,.is-combo,[data-skill=ultimate]) .skill-state{visibility:hidden}}@media(max-height:520px)and (orientation:landscape){.shell{width:min(calc(100% - 18px),calc((100svh - 148px)*1.918));min-width:0;margin:6px auto}.titlebar{margin-bottom:5px}.hud{min-height:39px}.controls{min-height:53px;padding-block:4px}.icon-button{height:28px}.shell:fullscreen .titlebar,.shell:fullscreen .game{max-width:min(100%,calc((100svh - 143px)*1.918))}}
