:root{--azure: #4de8ff;--ember: #ff6a3d;--pol: var(--azure);--bg: #04050c;--panel: rgba(10, 13, 28, .86);--line: rgba(160, 180, 255, .16);--text: #e8ecff;--muted: #8a93b8;--font: "Segoe UI", "Yu Gothic UI", "Meiryo", "Hiragino Sans", "Noto Sans JP", sans-serif;--mono: Consolas, "Roboto Mono", "SF Mono", monospace;--su: 9.6px}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--font);overflow:hidden;-webkit-text-size-adjust:100%}[hidden]{display:none!important}button{font-family:inherit}kbd{display:inline-block;min-width:1.6em;padding:.05em .45em;border:1px solid rgba(255,255,255,.3);border-bottom-width:2px;border-radius:4px;background:#ffffff14;font-family:var(--mono);font-size:.9em;text-align:center}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.azure{color:var(--azure)}.ember{color:var(--ember)}#app{height:100%;display:flex;align-items:center;justify-content:center;gap:18px;background:radial-gradient(ellipse at 50% 30%,#0d1230 0%,var(--bg) 60%)}#stage{position:relative;width:min(100vw,56.25dvh);aspect-ratio:9 / 16;background:#000;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:0 0 60px #283ca040;flex:none}#game,#game canvas{position:absolute;inset:0;width:100%!important;height:100%!important;display:block}.side{width:250px;display:flex;flex-direction:column;gap:12px}@media(max-aspect-ratio:13/10){.side{display:none}#app{gap:0}}.logo-mini{font-weight:800;letter-spacing:.3em;font-size:18px;color:#fff}.logo-mini span{color:var(--pol);margin-left:.4em}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px 14px}.panel .label,.hud .label,.label{font-size:11px;letter-spacing:.22em;color:var(--muted);font-weight:600}.panel .value{font-size:24px;margin:2px 0 10px;color:#fff}.panel .value.small{font-size:16px;color:#c9d0ee}.panel .row{display:flex;justify-content:space-between;align-items:center;margin-top:6px;font-size:14px}.panel.controls .row{justify-content:flex-start;gap:10px}.panel.hint p{margin:0;font-size:12.5px;line-height:1.6;color:#b6bedc}.chain-big{font-family:var(--mono);font-size:40px;font-weight:700;color:#fff;line-height:1.1;transition:transform .15s}.chain-big.bump{transform:scale(1.25);color:var(--pol)}.slots{display:flex;gap:6px;margin:6px 0}.slots i{display:block;width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.3);background:transparent;transition:background .1s,box-shadow .1s}.slots i[data-pol="0"]{background:var(--azure);border-color:var(--azure);box-shadow:0 0 8px var(--azure)}.slots i[data-pol="1"]{background:var(--ember);border-color:var(--ember);box-shadow:0 0 8px var(--ember)}.lives{display:flex;gap:5px;min-height:16px;margin:4px 0 8px}.lives i{display:block;width:14px;height:16px;background:#fff;clip-path:polygon(50% 0,100% 75%,80% 100%,50% 85%,20% 100%,0 75%);filter:drop-shadow(0 0 4px rgba(255,255,255,.7))}.power{display:flex;gap:4px}.power i{display:block;width:22px;height:7px;border-radius:2px;background:#ffffff1f}.power i.on{background:#ffd84a;box-shadow:0 0 6px #ffd84a}.pol-indicator{display:flex;align-items:center;gap:8px;font-weight:700;font-size:18px;color:var(--pol);margin:4px 0 10px}.pol-dot{width:14px;height:14px;border-radius:50%;background:var(--pol);box-shadow:0 0 10px var(--pol)}.energy-bar{position:relative;height:10px;border-radius:5px;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);overflow:hidden}.energy-bar .fill{height:100%;width:0%;background:linear-gradient(90deg,rgba(255,255,255,.6),var(--pol));box-shadow:0 0 10px var(--pol);transition:width .08s linear}.energy-bar .tick{position:absolute;top:0;bottom:0;left:20%;width:1px;background:#ffffff80}.energy-bar.side{margin:4px 0 6px}.energy-bar.ready .fill{animation:pulse .7s ease-in-out infinite alternate}@keyframes pulse{0%{filter:brightness(1)}to{filter:brightness(1.6)}}#hud{position:absolute;inset:0;pointer-events:none;font-size:calc(var(--su) * 1.5);text-shadow:0 0 6px rgba(0,0,0,.9),0 1px 2px #000}#hud .label{font-size:calc(var(--su) * 1.05)}.hud-top{position:absolute;top:calc(var(--su) * 1);left:calc(var(--su) * 1.4);right:calc(var(--su) * 1.4);display:flex;justify-content:space-between;align-items:flex-start}.hud-block.center{text-align:center}.hud-block.right{text-align:right}.hud-block .big{font-size:calc(var(--su) * 2.3);font-weight:700;color:#fff;line-height:1.05}.hud-block .dim{color:var(--muted);font-size:calc(var(--su) * 1.2)}.hud-block.center .slots{justify-content:center;margin:calc(var(--su) * .3) 0}.hud-block.center .slots i{width:calc(var(--su) * 1.4);height:calc(var(--su) * 1.4)}.chain-line{display:flex;gap:.4em;justify-content:center;align-items:baseline}.chain-line .mono{font-size:calc(var(--su) * 2.2);font-weight:700;color:#fff;transition:transform .12s}.chain-line.bump .mono{transform:scale(1.3);color:var(--pol)}.hud-block.right .lives{justify-content:flex-end;margin:calc(var(--su) * .4) 0}.hud-block.right .lives i{width:calc(var(--su) * 1.5);height:calc(var(--su) * 1.7)}.hud-block.right .power{justify-content:flex-end}.hud-block.right .power i{width:calc(var(--su) * 2.2);height:calc(var(--su) * .7)}#boss-bar{position:absolute;top:calc(var(--su) * 8.2);left:8%;right:8%}.boss-name{display:flex;justify-content:space-between;font-size:calc(var(--su) * 1.35);font-weight:700;letter-spacing:.08em;color:#ffd7dc;margin-bottom:calc(var(--su) * .3)}#boss-bar .bar{height:calc(var(--su) * .9);background:#0000008c;border:1px solid rgba(255,255,255,.35);border-radius:3px;overflow:hidden}#boss-bar .fill{height:100%;width:100%;background:linear-gradient(90deg,#ff3a5c,#ff8a6a);box-shadow:0 0 8px #ff3a5c;transition:width .1s linear}#boss-bar .parts{display:flex;gap:6px;margin-top:calc(var(--su) * .35)}#boss-bar .parts .p{flex:1;height:calc(var(--su) * .45);background:#00000080;border:1px solid rgba(255,255,255,.25);border-radius:2px;overflow:hidden}#boss-bar .parts .p .f{height:100%;background:var(--c);box-shadow:0 0 6px var(--c)}.hud-bottom{position:absolute;left:calc(var(--su) * 1.4);right:calc(var(--su) * 1.4);bottom:calc(var(--su) * 1)}.energy-wrap{width:46%}.energy-label{display:flex;justify-content:space-between;font-size:calc(var(--su) * 1.15);font-weight:700;letter-spacing:.1em;color:var(--pol);margin-bottom:calc(var(--su) * .3)}#hud .energy-bar{height:calc(var(--su) * 1.1);background:#00000080}#captions{position:absolute;inset:0;pointer-events:none;display:flex;align-items:center;justify-content:center}.caption{text-align:center;transform:translateY(-15%);animation:capIn .35s cubic-bezier(.2,.9,.3,1.2)}.caption-main{font-size:calc(var(--su) * 5.2);font-weight:800;letter-spacing:.25em;color:#fff;text-shadow:0 0 18px rgba(120,180,255,.9),0 2px 4px #000;line-height:1}.caption-sub{margin-top:calc(var(--su) * .8);font-size:calc(var(--su) * 1.8);letter-spacing:.2em;color:#cfd6ff;text-shadow:0 1px 3px #000}.caption.warning .caption-main{color:#ff3b5c;text-shadow:0 0 24px rgba(255,60,90,.9),0 2px 4px #000;animation:blink .5s steps(2) infinite}.caption.warning{padding:calc(var(--su) * 1.5) 0;width:100%;background:repeating-linear-gradient(-45deg,rgba(255,50,80,.14) 0 14px,transparent 14px 28px);border-top:2px solid rgba(255,60,90,.6);border-bottom:2px solid rgba(255,60,90,.6)}.caption.extend .caption-main{color:#8dff9a;text-shadow:0 0 20px rgba(140,255,150,.9),0 2px 4px #000}.caption.clear .caption-main{color:#ffe58a;text-shadow:0 0 22px rgba(255,220,120,.9),0 2px 4px #000}.caption.info .caption-main{font-size:calc(var(--su) * 3.2)}.caption.out{animation:capOut .4s ease-in forwards}@keyframes capIn{0%{opacity:0;transform:translateY(-15%) scale(1.3)}to{opacity:1;transform:translateY(-15%) scale(1)}}@keyframes capOut{to{opacity:0;transform:translateY(-25%)}}@keyframes blink{50%{opacity:.35}}#touch-ui{position:absolute;right:calc(var(--su) * 1.5);bottom:calc(var(--su) * 4.5);display:none;flex-direction:column;gap:calc(var(--su) * 1);align-items:flex-end}body.touch.playing #touch-ui{display:flex}.tbtn{width:calc(var(--su) * 7);height:calc(var(--su) * 7);border-radius:50%;border:2px solid rgba(255,255,255,.5);background:#14183299;color:#fff;font-size:calc(var(--su) * 1.7);font-weight:700;touch-action:none;-webkit-tap-highlight-color:transparent}.tbtn:active{background:#ffffff59}.tbtn.burst{border-color:var(--pol);color:var(--pol);font-size:calc(var(--su) * 2.4)}#btn-focus{width:calc(var(--su) * 5.5);height:calc(var(--su) * 5.5);font-size:calc(var(--su) * 1.4)}#screens{position:absolute;inset:0;pointer-events:none}.screen{position:absolute;inset:0;pointer-events:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(var(--su) * 2);padding:calc(var(--su) * 4) calc(var(--su) * 4);background:#040610c7;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-size:calc(var(--su) * 1.6);animation:fadeIn .25s ease-out;overflow:auto}@keyframes fadeIn{0%{opacity:0}}.screen h2{margin:0;font-size:calc(var(--su) * 3.6);letter-spacing:.3em;font-weight:800}#screen-title{background:linear-gradient(180deg,#04061033,#040610bf 45%,#040610e6);justify-content:center}.logo{text-align:center;line-height:.95;animation:logoIn .9s cubic-bezier(.2,.9,.3,1.1)}@keyframes logoIn{0%{opacity:0;transform:translateY(-20px) scale(1.15);letter-spacing:.6em}}.logo-top{font-size:calc(var(--su) * 4.2);letter-spacing:.55em;font-weight:700;color:#dfe6ff;text-shadow:0 0 20px rgba(120,160,255,.6);margin-left:.55em}.logo-main{font-size:calc(var(--su) * 11);font-weight:900;letter-spacing:.12em;margin-left:.12em;background:linear-gradient(90deg,var(--azure) 0%,#ffffff 50%,var(--ember) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 22px rgba(90,160,255,.55))}.logo-sub{margin-top:calc(var(--su) * 1.2);font-size:calc(var(--su) * 2);letter-spacing:.6em;margin-left:.6em;color:#aab4dd}.title-hi{color:var(--muted);letter-spacing:.15em}.title-hi span{color:#fff}.menu{display:flex;flex-direction:column;gap:calc(var(--su) * 1.2);width:min(70%,320px)}.btn{pointer-events:auto;padding:calc(var(--su) * 1.2) calc(var(--su) * 2);border-radius:6px;border:1px solid rgba(255,255,255,.35);background:#ffffff0f;color:#fff;font-size:calc(var(--su) * 1.7);font-weight:700;letter-spacing:.12em;cursor:pointer;transition:background .12s,transform .08s,box-shadow .12s}.btn:hover,.btn:focus-visible{background:#ffffff29;box-shadow:0 0 14px #78c8ff59;outline:none}.btn:active{transform:scale(.97)}.btn.primary{background:linear-gradient(90deg,#4de8ff47,#ff6a3d47);border-color:#fff9}.btn.danger{border-color:#ff6a3d99}.keys{display:flex;flex-wrap:wrap;justify-content:center;gap:calc(var(--su) * .8) calc(var(--su) * 1.6);font-size:calc(var(--su) * 1.35);color:#c9d0ee}.version{font-size:calc(var(--su) * 1.15);color:var(--muted);text-align:center}.howto{display:flex;flex-direction:column;gap:calc(var(--su) * 1.4);max-width:100%;font-size:calc(var(--su) * 1.5);line-height:1.55}.rule{display:flex;gap:calc(var(--su) * 1.4);align-items:flex-start}.rule-icon{flex:none;width:calc(var(--su) * 4);height:calc(var(--su) * 4);border-radius:50%;margin-top:.2em}.rule-icon.pol-azure{background:radial-gradient(circle,#fff 0 25%,var(--azure) 30% 60%,transparent 62%);box-shadow:0 0 12px var(--azure)}.rule-icon.pol-ember{background:radial-gradient(circle,#fff 0 25%,var(--ember) 30% 60%,transparent 62%);box-shadow:0 0 12px var(--ember)}.rule-icon.burst-icon{background:conic-gradient(var(--azure),#fff,var(--ember),#fff,var(--azure));box-shadow:0 0 12px #fff}.rule-icon.chain-icon{background:radial-gradient(circle at 30% 50%,var(--azure) 0 22%,transparent 25%),radial-gradient(circle at 70% 50%,var(--azure) 0 22%,transparent 25%),radial-gradient(circle at 50% 50%,var(--azure) 0 22%,rgba(255,255,255,.08) 25%)}.rule-icon.graze-icon{background:radial-gradient(circle,#fff 0 12%,transparent 15%),repeating-conic-gradient(rgba(255,255,255,.35) 0 10deg,transparent 10deg 30deg)}.settings{display:flex;flex-direction:column;gap:calc(var(--su) * 1.2);width:min(85%,380px)}.settings label{display:flex;align-items:center;justify-content:space-between;gap:1em}.settings label span{min-width:6em}.settings input[type=range]{flex:1;accent-color:var(--azure)}.settings label.check{justify-content:flex-start}.settings input[type=checkbox]{width:1.3em;height:1.3em;accent-color:var(--ember)}.result-stage{color:var(--muted);letter-spacing:.15em;font-size:calc(var(--su) * 1.4)}table.result{border-collapse:collapse;width:min(85%,380px);font-size:calc(var(--su) * 1.6)}table.result td{padding:calc(var(--su) * .5) 0;border-bottom:1px solid var(--line)}table.result td:last-child{text-align:right;font-family:var(--mono)}table.result tr.bonus td{color:#ffe58a}.result-score{font-size:calc(var(--su) * 3.2);font-weight:700;display:flex;gap:.6em;align-items:baseline}.result-new{color:#ffe58a;font-weight:800;letter-spacing:.3em;font-size:calc(var(--su) * 2.2);animation:blink .8s steps(2) infinite}
