:root{--u: clamp(5px, 1.55vmin, 11px);--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--sar: env(safe-area-inset-right, 0px);--mag:#ff00dc;--yel:#ffe600;--cy:#00f0ff;--red:#ff2a2a;--jp: "Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Yu Gothic","Meiryo",system-ui,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}html,body{margin:0;height:100%;overflow:hidden;overflow:clip;background:#000;color:#fff;font-family:var(--jp);font-weight:900;touch-action:none;overscroll-behavior:none}body{position:fixed;inset:0}canvas#game{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}.hidden{display:none!important}button{font:inherit;color:inherit;border:0;background:none;padding:0;margin:0;touch-action:none;cursor:pointer}#boot{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000;z-index:100;font-size:calc(var(--u)*2.4);letter-spacing:.2em}#boot small{font-size:.55em;opacity:.6;margin-top:1em;letter-spacing:.05em}#letterbox{position:absolute;inset:0;pointer-events:none;z-index:20}#letterbox i{position:absolute;left:0;right:0;height:0;background:#000;transition:height .35s cubic-bezier(.2,.9,.2,1)}#letterbox i.t{top:0}#letterbox i.b{bottom:0}#letterbox.on i{height:12.5vh}#flash{position:absolute;inset:0;pointer-events:none;background:#fff;opacity:0;z-index:21}#lines{position:absolute;inset:0;transform:scale(1.25);pointer-events:none;z-index:19;opacity:0;background:repeating-conic-gradient(from 0deg at 50% 50%,#0000 0deg 3.2deg,#000000d9 3.4deg 4deg,#0000 4.2deg 9deg);-webkit-mask-image:radial-gradient(circle,transparent 34%,#000 72%);mask-image:radial-gradient(circle,transparent 34%,#000 72%)}#lines.on{opacity:.55;animation:spinl .6s steps(2) infinite}#lines.white{filter:invert(1)}@keyframes spinl{to{transform:scale(1.25) rotate(4.5deg)}}#hud{position:absolute;inset:0;pointer-events:none;z-index:30}#hud.cine #topbar,#hud.cine #bossbar,#hud.cine #combo,#hud.cine #buttons,#hud.cine #stick{opacity:0}#topbar,#bossbar,#combo,#buttons,#stick{transition:opacity .25s}#topbar{position:absolute;top:calc(var(--sat) + var(--u));left:calc(var(--sal) + var(--u)*1.5);right:calc(var(--sar) + var(--u)*1.5);display:flex;align-items:flex-start;gap:calc(var(--u)*1.5)}#pinfo{flex:0 0 auto;width:min(34vw,calc(var(--u)*30))}#pname{font-size:calc(var(--u)*1.9);text-shadow:0 0 6px var(--mag),2px 2px 0 #000;letter-spacing:.08em;line-height:1.1;white-space:nowrap}#pname small{font-size:.6em;opacity:.75;margin-left:.3em}.bar{position:relative;height:calc(var(--u)*1.5);background:#0009;border:2px solid #000;outline:1px solid rgba(255,255,255,.35);margin-top:calc(var(--u)*.5);overflow:hidden;transform:skew(-14deg)}.bar i{position:absolute;left:0;top:0;bottom:0;width:100%;transform-origin:left;transition:transform .12s}.bar.hp i{background:linear-gradient(#7dff5a,#18b93c)}.bar.hp.low i{background:linear-gradient(#ff6a4a,#c41212);animation:blink .4s steps(2) infinite}.bar.obj{height:calc(var(--u)*1)}.bar.obj i{background:repeating-linear-gradient(45deg,var(--yel) 0 8px,#111 8px 16px)}#objective{flex:1 1 auto;min-width:0;text-align:center;font-size:calc(var(--u)*1.6);text-shadow:2px 2px 0 #000;padding-top:calc(var(--u)*.2)}#objLabel{white-space:nowrap}#rinfo{flex:0 0 auto;margin-left:auto;display:flex;align-items:flex-start;gap:calc(var(--u)*1.2)}#ko{text-align:right;line-height:1;text-shadow:2px 2px 0 #000,0 0 8px #000}#ko b{display:block;font-size:calc(var(--u)*4.2);font-style:italic;color:var(--yel);font-variant-numeric:tabular-nums}#ko span{font-size:calc(var(--u)*1.4)}#ko.bump b{animation:bump .12s}#btnPause{pointer-events:auto;width:calc(var(--u)*6.4);height:calc(var(--u)*6.4);border:2px solid #fff;border-radius:50%;background:#00000073;font-size:calc(var(--u)*2)}#bossbar{position:absolute;top:calc(var(--sat) + var(--u)*9);left:50%;transform:translate(-50%);width:min(78vw,calc(var(--u)*70));text-align:center}#bossname{font-size:calc(var(--u)*2.1);letter-spacing:.15em;text-shadow:0 0 8px var(--red),2px 2px 0 #000}.bar.boss{height:calc(var(--u)*2)}.bar.boss i{background:linear-gradient(#ff5a5a,#a00000)}.bar.boss em{position:absolute;left:0;top:0;bottom:0;width:100%;background:#fff;transform-origin:left;transition:transform .5s .25s}#bossnote{font-size:calc(var(--u)*1.5);color:var(--yel);text-shadow:2px 2px 0 #000;min-height:1.2em;margin-top:.2em}#combo{position:absolute;right:calc(var(--sar) + var(--u)*3);top:34%;text-align:right;line-height:.9;transform:rotate(-6deg);text-shadow:3px 3px 0 #000}#combo b{font-size:calc(var(--u)*8);font-style:italic;color:#fff;display:block;-webkit-text-stroke:2px #000}#combo span{font-size:calc(var(--u)*2.4);color:var(--yel);letter-spacing:.2em}#combo.bump b{animation:bump .1s}@keyframes bump{0%{transform:scale(1.45)}to{transform:scale(1)}}@keyframes blink{50%{opacity:.5}}#stick{position:absolute;left:0;top:0;width:calc(var(--u)*17);height:calc(var(--u)*17);margin:calc(var(--u)*-8.5) 0 0 calc(var(--u)*-8.5);border-radius:50%;border:2px solid rgba(255,255,255,.45);background:#0000002e;opacity:0;transition:opacity .15s}#stick.rest{opacity:.35}#stick.on{opacity:.9}#stick i{position:absolute;left:50%;top:50%;width:44%;height:44%;margin:-22% 0 0 -22%;border-radius:50%;background:#fffc;box-shadow:0 0 12px var(--mag)}#buttons{position:absolute;right:calc(var(--sar) + var(--u)*2);bottom:calc(var(--sab) + var(--u)*2.5);width:calc(var(--u)*38);height:calc(var(--u)*34)}.pad{pointer-events:auto;position:absolute;border-radius:50%;border:3px solid #fff;background:#0000006b;display:flex;align-items:center;justify-content:center;text-shadow:2px 2px 0 #000;box-shadow:0 0 0 2px #000 inset}.pad span{pointer-events:none}.pad.down{transform:scale(.9);background:#ffffff59}#btnAtk{right:0;bottom:0;width:calc(var(--u)*17);height:calc(var(--u)*17);font-size:calc(var(--u)*7);border-color:var(--yel);color:var(--yel)}#btnDodge{right:calc(var(--u)*19);bottom:calc(var(--u)*-.5);width:calc(var(--u)*11.5);height:calc(var(--u)*11.5);font-size:calc(var(--u)*4.4);border-color:var(--cy);color:var(--cy)}#btnSkill{right:calc(var(--u)*15.5);bottom:calc(var(--u)*13);width:calc(var(--u)*11.5);height:calc(var(--u)*11.5);font-size:calc(var(--u)*5.5);border-color:var(--mag);color:var(--mag);overflow:hidden}#btnSkill em{position:absolute;left:0;right:0;bottom:0;height:0;background:#000000b8;pointer-events:none}#btnSkill.ready{animation:wob 1.2s infinite}#btnSuper{right:calc(var(--u)*1);bottom:calc(var(--u)*19.5);width:calc(var(--u)*13.5);height:calc(var(--u)*13.5);font-size:calc(var(--u)*3.2);border-color:#888;color:#aaa}#btnSuper svg{position:absolute;inset:-3px;width:calc(100% + 6px);height:calc(100% + 6px);transform:rotate(-90deg);pointer-events:none}#btnSuper circle{fill:none;stroke:var(--red);stroke-width:8;stroke-dasharray:289;stroke-dashoffset:289;transition:stroke-dashoffset .2s}#btnSuper.ready{border-color:#fff;color:#fff;background:radial-gradient(circle,#ff6a00,#b00000);animation:pulse .5s infinite alternate;box-shadow:0 0 24px #ff5a00,0 0 60px red}@keyframes pulse{to{transform:scale(1.12);filter:brightness(1.4)}}@keyframes wob{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}#telop{position:absolute;left:0;right:0;top:19%;text-align:center;pointer-events:none;z-index:40}.telop{display:inline-block;max-width:92vw;padding:.15em .7em;font-size:calc(var(--u)*4.2);line-height:1.15;color:#fff;background:linear-gradient(90deg,transparent,rgba(0,0,0,.85) 12%,rgba(0,0,0,.85) 88%,transparent);-webkit-text-stroke:1px #000;text-shadow:3px 3px 0 var(--red),-1px -1px 0 #000;animation:telopIn .25s cubic-bezier(.2,1.6,.4,1) both;letter-spacing:.04em}.telop.yel{color:var(--yel);text-shadow:3px 3px 0 #000}.telop.mag{color:#fff;text-shadow:3px 3px 0 var(--mag)}.telop.out{animation:telopOut .3s both}.telop small{display:block;font-size:.45em;-webkit-text-stroke:0;opacity:.9;letter-spacing:.1em}@keyframes telopIn{0%{transform:scale(2.2) rotate(-4deg);opacity:0}to{transform:none;opacity:1}}@keyframes telopOut{to{transform:translate(60vw) skew(-30deg);opacity:0}}#subtitle{position:absolute;left:0;right:0;bottom:calc(var(--sab) + 4.5vh);text-align:center;pointer-events:none;z-index:40;font-size:calc(var(--u)*2.1);font-weight:700}#subtitle span{display:inline-block;background:#000000b3;padding:.2em .8em;max-width:60vw;animation:fadein .3s}@keyframes fadein{0%{opacity:0}}#cutin{position:absolute;inset:0;pointer-events:none;z-index:41;overflow:hidden}.cutin-band{position:absolute;left:-10%;right:-10%;top:50%;height:36vh;margin-top:-18vh;background:linear-gradient(180deg,transparent,rgba(0,0,0,.92) 18%,rgba(0,0,0,.92) 82%,transparent);transform:rotate(-5deg);display:flex;flex-direction:column;align-items:center;justify-content:center;animation:bandIn .22s cubic-bezier(.1,1,.2,1) both}.cutin-band:before,.cutin-band:after{content:"";position:absolute;left:0;right:0;height:5px;background:linear-gradient(90deg,transparent,#ff3b00,#fff,#ff3b00,transparent)}.cutin-band:before{top:14%}.cutin-band:after{bottom:14%}.cutin-band .k{font-family:Hiragino Mincho ProN,Yu Mincho,"Noto Serif JP",serif;font-size:calc(var(--u)*3);letter-spacing:1.2em;color:#ffb38a;margin-left:1.2em}.cutin-band .n{font-family:Hiragino Mincho ProN,Yu Mincho,"Noto Serif JP",serif;font-size:min(13vw,24vh);line-height:1.05;letter-spacing:.1em;color:#fff;text-shadow:0 0 18px #ff3b00,4px 4px 0 #000;white-space:nowrap;will-change:transform;animation:nameIn .4s cubic-bezier(.1,1.2,.2,1) both .06s}.cutin-band.out{animation:bandOut .25s both}@keyframes bandIn{0%{transform:rotate(-5deg) scaleY(0)}}@keyframes bandOut{to{transform:rotate(-5deg) scaleY(0);opacity:0}}@keyframes nameIn{0%{transform:translate(70vw) scale(1.6);opacity:0}}#pops{position:absolute;inset:0;pointer-events:none;z-index:25;overflow:hidden}.pop{position:absolute;left:0;top:0;white-space:nowrap;font-size:calc(var(--u)*2.6);font-style:italic;-webkit-text-stroke:1px #000;text-shadow:2px 2px 0 #000;will-change:transform,opacity}.pop.dmg{color:var(--yel)}.pop.big{font-size:calc(var(--u)*4.4);color:#fff;text-shadow:3px 3px 0 var(--red)}.pop.say{font-style:normal;color:#fff;background:#000;border:2px solid var(--mag);padding:.05em .5em;font-size:calc(var(--u)*2.3);-webkit-text-stroke:0;text-shadow:none}.pop.sfx{font-size:calc(var(--u)*6);color:#fff;-webkit-text-stroke:2px #000;font-style:normal}.pop.rej{color:var(--red);font-style:normal;border:3px solid var(--red);padding:0 .3em;border-radius:.2em;-webkit-text-stroke:0;text-shadow:none;background:#ffffffd9}#dialog{position:absolute;left:50%;bottom:calc(var(--sab) + 5vh);transform:translate(-50%);width:min(92vw,calc(var(--u)*86));min-height:calc(var(--u)*17);background:#080828e6;border:3px solid #fff;border-radius:10px;box-shadow:0 0 0 3px #223,0 8px #00000080;padding:calc(var(--u)*2.2) calc(var(--u)*2.4);z-index:45;pointer-events:none;font-weight:700}#dlgName{position:absolute;top:calc(var(--u)*-2.4);left:calc(var(--u)*2);background:#fff;color:#000;padding:.1em .8em;border-radius:6px;font-size:calc(var(--u)*2)}#dlgText{font-size:calc(var(--u)*2.35);line-height:1.5;white-space:pre-wrap}#dlgHint{position:absolute;right:calc(var(--u)*2);bottom:calc(var(--u)*.8);font-size:calc(var(--u)*1.7);color:var(--yel);animation:blink .6s steps(2) infinite}#dialog.shatter{animation:shatter .5s cubic-bezier(.3,0,.9,.4) both}@keyframes shatter{20%{transform:translate(-50%) scale(1.08) rotate(3deg);filter:brightness(3)}to{transform:translate(10vw,-90vh) scale(.2) rotate(540deg);opacity:0}}#btnSkip{position:absolute;right:calc(var(--sar) + var(--u)*2);top:calc(var(--sat) + 14vh);z-index:46;font-size:calc(var(--u)*1.9);padding:.5em 1em;border:2px solid #fff;border-radius:99px;background:#00000080}#overlay{position:absolute;inset:0;pointer-events:none;z-index:42;overflow:hidden}#overlay>*{pointer-events:none}.errdlg{position:absolute;left:50%;top:42%;width:min(84vw,calc(var(--u)*56));margin-left:calc(min(84vw,var(--u)*56)/-2);background:#d6d3ce;color:#000;border:2px solid #fff;border-right-color:#404040;border-bottom-color:#404040;box-shadow:6px 6px #00000080;font-weight:400;font-family:MS UI Gothic,Meiryo,sans-serif;animation:errIn .12s steps(2) both}.errdlg .tt{background:linear-gradient(90deg,#0a246a,#a6caf0);color:#fff;padding:.25em .5em;font-size:calc(var(--u)*1.8);font-weight:700;display:flex;justify-content:space-between}.errdlg .bd{padding:calc(var(--u)*2);font-size:calc(var(--u)*2.1);display:flex;gap:1em;align-items:center}.errdlg .bd b{flex:0 0 auto;width:2em;height:2em;border-radius:50%;background:#e00;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.3em}.errdlg .bt{text-align:center;padding-bottom:calc(var(--u)*1.6)}.errdlg .bt span{display:inline-block;border:2px solid #fff;border-right-color:#404040;border-bottom-color:#404040;padding:.2em 2.2em;font-size:calc(var(--u)*1.9)}.errdlg.fall{animation:errFall .55s cubic-bezier(.5,0,1,.6) both}@keyframes errIn{0%{transform:scale(.6)}}@keyframes errFall{to{transform:translateY(120vh) rotate(24deg)}}.credits{position:absolute;left:0;right:0;top:100%;text-align:center;font-weight:400;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:calc(var(--u)*2.6);line-height:2.1;text-shadow:0 0 8px #000,2px 2px 0 #000;animation:roll linear both}.credits b{display:block;font-size:.6em;opacity:.7;margin-top:1.2em;line-height:1}@keyframes roll{to{transform:translateY(calc(-100% - 100vh))}}.rec{position:absolute;left:calc(var(--sal) + 4vw);top:calc(var(--sat) + 16vh);font-family:monospace;font-size:calc(var(--u)*2.6);font-weight:700;color:#fff;text-shadow:0 0 4px #000}.rec i{display:inline-block;width:.8em;height:.8em;border-radius:50%;background:red;margin-right:.4em;animation:blink 1s steps(2) infinite}.rec small{display:block;font-size:.7em;opacity:.85}.splat{position:absolute;width:42vmin;height:42vmin;margin:-21vmin 0 0 -21vmin;font-size:30vmin;line-height:42vmin;text-align:center;filter:drop-shadow(0 0 0 #000);animation:splat 1.9s cubic-bezier(.3,0,.8,.3) both}@keyframes splat{0%{transform:scale(.1)}6%{transform:scale(1.25,.8)}12%{transform:scale(1)}55%{transform:translateY(4vh) scale(1)}to{transform:translateY(120vh) scaleY(1.3)}}.stampfx{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%) rotate(-12deg);font-size:min(30vw,40vh);color:var(--red);border:min(1.6vw,2vh) solid var(--red);border-radius:.14em;padding:0 .12em;line-height:1.1;opacity:.92;mix-blend-mode:multiply;animation:stampIn .18s cubic-bezier(.3,2.2,.5,1) both;background:#ffffff1f;font-family:Hiragino Mincho ProN,Yu Mincho,serif}.stampfx.s{font-size:min(14vw,20vh)}.stampfx.break{animation:stampBreak .45s both}@keyframes stampIn{0%{transform:translate(-50%,-50%) rotate(-12deg) scale(3.4);opacity:0}}@keyframes stampBreak{to{transform:translate(-50%,-50%) rotate(40deg) scale(2.4);opacity:0;filter:blur(6px)}}.vn{position:absolute;inset:0;background:linear-gradient(#ffd6ec,#ffeef7 60%,#ffc2e0);animation:fadein .2s;color:#402;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:calc(var(--sab) + 4vh);pointer-events:auto!important}.vn .face{position:absolute;left:50%;top:6vh;transform:translate(-50%);font-size:min(34vh,50vw);line-height:1;filter:drop-shadow(0 8px 0 rgba(255,105,180,.4));animation:vnbob 1.4s ease-in-out infinite alternate}.vn .petal{position:absolute;top:-10vh;font-size:4vh;animation:petal linear infinite}.vn .box{width:min(92vw,calc(var(--u)*84));background:#ffffffeb;border:3px solid #ff69b4;border-radius:14px;padding:calc(var(--u)*1.6) calc(var(--u)*2.2);font-size:calc(var(--u)*2.3);font-weight:700;position:relative}.vn .box u{position:absolute;top:calc(var(--u)*-2.2);left:1em;background:#ff69b4;color:#fff;text-decoration:none;padding:0 .8em;border-radius:8px;font-size:.85em}.vn .ch{display:flex;gap:calc(var(--u)*1.5);margin-top:calc(var(--u)*1.4);flex-wrap:wrap;justify-content:center}.vn .ch button{pointer-events:auto;background:#fff;color:#c2185b;border:3px solid #ff69b4;border-radius:99px;padding:.45em 1.3em;font-size:calc(var(--u)*2.4);box-shadow:0 4px #ff69b4}@keyframes vnbob{to{transform:translate(-50%) translateY(1.5vh) rotate(2deg)}}@keyframes petal{to{transform:translate(-30vw,120vh) rotate(720deg)}}.loading{position:absolute;inset:0;background:#000;display:flex;align-items:flex-end;justify-content:flex-end;padding:6vh 6vw;font-size:calc(var(--u)*3);letter-spacing:.2em}.loading:after{content:"";width:1.2em;height:1.2em;margin-left:.6em;border:.2em solid #fff;border-top-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.bigtext{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;font-size:min(16vw,26vh);line-height:1.05;-webkit-text-stroke:3px #000;text-shadow:6px 6px 0 #000;animation:telopIn .3s cubic-bezier(.2,1.6,.4,1) both}.bigtext small{display:block;font-size:.22em;-webkit-text-stroke:0;letter-spacing:.2em;margin-top:.6em}.bigtext.gold{color:var(--yel)}.bigtext.red{color:var(--red)}.bigtext.punched{animation:punched .55s cubic-bezier(.3,0,.9,.4) both}@keyframes punched{15%{transform:translateY(-50%) scale(1.2) skew(-12deg);filter:brightness(3)}to{transform:translate(70vw,-120vh) rotate(480deg) scale(.4);opacity:0}}.stagecard{position:absolute;left:0;right:0;top:36%;text-align:center;animation:cardIn 2.6s both}.stagecard .no{font-size:calc(var(--u)*2.4);letter-spacing:.6em;color:var(--yel);text-shadow:2px 2px 0 #000}.stagecard .nm{font-size:min(11vw,18vh);line-height:1.1;-webkit-text-stroke:2px #000;text-shadow:5px 5px 0 var(--mag)}.stagecard .sb{font-size:calc(var(--u)*2.2);font-weight:700;background:#000;display:inline-block;padding:.2em 1em;margin-top:.5em}@keyframes cardIn{0%{transform:translate(-100vw) skew(30deg)}10%,82%{transform:none;opacity:1}to{transform:translate(100vw) skew(-30deg);opacity:0}}.screen{position:absolute;inset:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(var(--sat) + 2vh) calc(var(--sar) + 3vw) calc(var(--sab) + 2vh) calc(var(--sal) + 3vw);text-align:center}#screen-title{background:radial-gradient(circle at 50% 40%,#0000 0,#0000008c 70%);cursor:pointer}.logo{font-size:min(15vw,24vh);font-style:italic;letter-spacing:-.02em;line-height:.9;position:relative;color:#fff;-webkit-text-stroke:2px #000;text-shadow:.045em .045em 0 var(--mag),-.03em -.03em 0 var(--cy);animation:logo 2.6s steps(1) infinite}.logo:after{content:attr(data-text);position:absolute;left:0;top:0;right:0;color:var(--yel);-webkit-text-stroke:0;text-shadow:none;clip-path:inset(40% 0 42% 0);transform:translate(.05em);animation:logo2 1.7s steps(1) infinite}@keyframes logo{0%,to{transform:none}8%{transform:skew(-14deg) translate(-.05em)}10%{transform:none}55%{transform:scaleY(1.12) rotate(1deg)}57%{transform:none}80%{transform:translateY(.04em) rotate(-2deg)}82%{transform:none}}@keyframes logo2{0%,to{clip-path:inset(40% 0 42% 0)}20%{clip-path:inset(8% 0 78% 0);transform:translate(-.08em)}40%{clip-path:inset(70% 0 6% 0)}60%{clip-path:inset(30% 0 55% 0);transform:translate(.1em)}}.logo-sub{font-size:calc(var(--u)*2.6);margin-top:1.2em;letter-spacing:.3em;text-shadow:2px 2px 0 #000;background:#000;padding:.1em 1em}.tap{margin-top:7vh;font-size:calc(var(--u)*2.8);animation:blink 1s steps(2) infinite;text-shadow:2px 2px 0 #000}.rot{display:none;margin-top:2vh;font-size:calc(var(--u)*1.7);font-weight:700;background:#000;padding:.2em 1em}@media (orientation:portrait){.rot{display:block}}.foot{position:absolute;bottom:calc(var(--sab) + 2.5vh);left:0;right:0;font-size:calc(var(--u)*1.5);opacity:.75;font-weight:400;text-shadow:1px 1px 0 #000}#screen-select,#screen-pause,#screen-result{background:#000000b8;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.screen h2{font-size:calc(var(--u)*4.2);margin:0 0 calc(var(--u)*2);text-shadow:3px 3px 0 var(--mag);letter-spacing:.1em}.screen h2 small{font-size:.4em;opacity:.7;margin-left:.6em;text-shadow:none}#stageList{display:flex;gap:calc(var(--u)*2);flex-wrap:wrap;justify-content:center;max-width:100%;max-height:68vh;overflow:auto;touch-action:pan-y;padding:calc(var(--u)*1)}.stg{pointer-events:auto;position:relative;width:min(29vw,calc(var(--u)*34));min-width:calc(var(--u)*24);padding:calc(var(--u)*1.6);border:3px solid #fff;background:#111;text-align:left;transform:rotate(var(--r,0deg));box-shadow:6px 6px 0 var(--c,#ff00dc);transition:transform .1s}.stg:active{transform:scale(.95)}.stg .em{font-size:calc(var(--u)*7);line-height:1.1;text-align:center}.stg .no{font-size:calc(var(--u)*1.5);color:var(--yel);letter-spacing:.3em}.stg .nm{font-size:calc(var(--u)*2.9);line-height:1.15;margin:.15em 0}.stg .ds{font-size:calc(var(--u)*1.5);font-weight:400;opacity:.85;line-height:1.4;min-height:4.2em}.stg .bs{font-size:calc(var(--u)*1.5);color:#f88;margin-top:.4em}.stg.clear:after{content:"済";position:absolute;right:-.2em;top:-.35em;font-size:calc(var(--u)*5);color:var(--red);border:4px solid var(--red);border-radius:50%;width:1.5em;height:1.5em;line-height:1.35em;text-align:center;transform:rotate(14deg);background:#ffffffe6;font-family:Hiragino Mincho ProN,Yu Mincho,serif}.row{display:flex;gap:calc(var(--u)*1.6);margin-top:calc(var(--u)*2.4);flex-wrap:wrap;justify-content:center}.col{display:flex;flex-direction:column;gap:calc(var(--u)*1.3);align-items:stretch;min-width:min(70vw,calc(var(--u)*40))}.ui{pointer-events:auto;font-size:calc(var(--u)*2.3);padding:.55em 1.4em;border:3px solid #fff;background:#000;box-shadow:4px 4px 0 var(--mag)}.ui.big{font-size:calc(var(--u)*3);background:var(--yel);color:#000;border-color:#000;box-shadow:4px 4px #fff}.ui:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--mag)}.help{margin-top:calc(var(--u)*2.4);font-size:calc(var(--u)*1.55);font-weight:400;line-height:1.7;max-width:92vw;opacity:.9}#resTitle{font-size:min(13vw,17vh);line-height:1;font-style:italic;-webkit-text-stroke:2px #000;text-shadow:5px 5px 0 var(--mag)}#resTitle.fail{text-shadow:5px 5px 0 var(--red);font-style:normal}#resBody{margin-top:calc(var(--u)*2);font-size:calc(var(--u)*2.3);line-height:1.75;font-weight:700}#resBody table{margin:0 auto;border-collapse:collapse}#resBody td{padding:0 .8em;text-align:left}#resBody td:last-child{text-align:right;color:var(--yel);font-variant-numeric:tabular-nums}#resBody .rank{font-size:1.5em;margin-top:.3em;color:#fff;text-shadow:3px 3px 0 var(--red)}#resBody .note{font-size:.7em;font-weight:400;opacity:.8}@media (orientation:portrait){:root{--u: clamp(5px, 1.9vmin, 10px)}#objective{display:none}#buttons{bottom:calc(var(--sab) + 7vh)}#subtitle{bottom:calc(var(--sab) + 1.5vh)}#subtitle span{max-width:94vw}.stg{width:min(86vw,calc(var(--u)*48))}.stg .ds{min-height:0}.stg .em{float:right;font-size:calc(var(--u)*6)}}
