:root{--pink: #ff4f9a;--pink2: #ff86c0;--orange: #ff9a3c;--gold: #ffd23f;--cyan: #3fd8ff;--blue: #2b7bff;--mint: #3ef0b0;--ink: #2a1048;--ink2: #3b1a5a;--cream: #fff8fc;--display: "Dela Gothic One", "Hiragino Sans", "Arial Black", sans-serif;--body: "M PLUS Rounded 1c", "Hiragino Maru Gothic ProN", system-ui, sans-serif;--safe-b: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#140a2c;font-family:var(--body);color:#fff;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none;-webkit-tap-highlight-color:transparent}#gl{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;display:block}#ui{position:fixed;inset:0;pointer-events:none;overflow:hidden}#ui .i{pointer-events:auto}.hidden{display:none!important}.stroke{font-family:var(--display);color:#fff;text-shadow:3px 0 0 var(--ink),-3px 0 0 var(--ink),0 3px 0 var(--ink),0 -3px 0 var(--ink),2px 2px 0 var(--ink),-2px 2px 0 var(--ink),2px -2px 0 var(--ink),-2px -2px 0 var(--ink),0 6px 0 var(--ink),0 8px 12px rgba(0,0,0,.35);letter-spacing:.02em}.grad{position:relative;display:inline-block;font-family:var(--display)}.grad>.fill{position:relative;background:linear-gradient(180deg,#fffbe0 0%,var(--gold) 38%,var(--orange) 62%,var(--pink) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;z-index:1}.grad:before{content:attr(data-text);position:absolute;inset:0;-webkit-text-stroke:.22em var(--ink);color:var(--ink);z-index:0;text-shadow:0 .12em 0 var(--ink),0 .2em .3em rgba(0,0,0,.4)}.grad.rainbow>.fill{background:linear-gradient(90deg,#ff5f6d,#ffc371,#fff275,#6dffb3,#58c7ff,#b28dff,#ff7ad9,#ff5f6d);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:rainbowShift 1s linear infinite}.grad.cool>.fill{background:linear-gradient(180deg,#ffffff 0%,#a8f3ff 40%,var(--cyan) 65%,var(--blue) 100%);-webkit-background-clip:text;background-clip:text}.grad.red>.fill{background:linear-gradient(180deg,#fff,#ffb0b0 35%,#ff4a4a 65%,#c4002f);-webkit-background-clip:text;background-clip:text}@keyframes rainbowShift{to{background-position:200% 0}}.btn{--c1: #ff8fc6;--c2: #ff3f8e;--edge: #a10f55;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--display);font-size:22px;color:#fff;padding:14px 30px 16px;min-width:120px;border-radius:20px;border:3px solid #fff;background:linear-gradient(180deg,var(--c1),var(--c2));box-shadow:0 6px 0 var(--edge),0 0 0 3px var(--ink),0 9px 0 3px var(--ink),0 14px 24px #00000059;text-shadow:0 2px 0 var(--edge),2px 0 0 var(--edge),-2px 0 0 var(--edge),0 -1px 0 var(--edge);cursor:pointer;transition:transform .08s,box-shadow .08s,filter .15s;overflow:hidden;pointer-events:auto;outline:none;white-space:nowrap}.btn:before{content:"";position:absolute;left:7%;right:7%;top:4px;height:44%;border-radius:14px 14px 50% 50%/14px 14px 30% 30%;background:linear-gradient(180deg,#fffc,#ffffff14);pointer-events:none}.btn:after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skew(-20deg);animation:shine 3.2s ease-in-out infinite;pointer-events:none}@keyframes shine{0%,70%{left:-60%}to{left:130%}}.btn:hover{transform:translateY(-2px) scale(1.03);filter:brightness(1.08)}.btn:active,.btn.held{transform:translateY(5px) scale(.98);box-shadow:0 1px 0 var(--edge),0 0 0 3px var(--ink),0 4px 0 3px var(--ink),0 6px 10px #0000004d}.btn[disabled],.btn.disabled{filter:grayscale(.85) brightness(.8);cursor:not-allowed}.btn.blue{--c1: #84ecff;--c2: #2a8cff;--edge: #0d3e9e}.btn.gold{--c1: #fff08a;--c2: #ffaa1d;--edge: #a85a00}.btn.green{--c1: #8dffc9;--c2: #17c27a;--edge: #06784a}.btn.purple{--c1: #d5a8ff;--c2: #8a4dff;--edge: #4a1aa0}.btn.dark{--c1: #6b5a8e;--c2: #3a2a5e;--edge: #1a0f30}.btn.small{font-size:15px;padding:8px 16px 10px;min-width:0;border-radius:14px}.btn.tiny{font-size:13px;padding:6px 12px 8px;min-width:0;border-radius:12px;border-width:2px}.btn .k{font-family:var(--body);font-weight:800;font-size:.55em;opacity:.9;background:#00000040;border-radius:6px;padding:2px 6px;text-shadow:none}.panel{position:relative;background:linear-gradient(180deg,#fffafd,#ffe6f3);color:var(--ink);border:4px solid #fff;border-radius:26px;box-shadow:0 0 0 4px var(--ink),0 14px 0 4px #2a104899,0 24px 50px #00000073;pointer-events:auto}.panel .ribbon{position:absolute;top:-26px;left:50%;transform:translate(-50%);padding:8px 34px 10px;background:linear-gradient(180deg,#ff8fc6,var(--pink));border:3px solid #fff;border-radius:16px;box-shadow:0 0 0 3px var(--ink),0 5px 0 3px var(--ink);font-family:var(--display);font-size:24px;white-space:nowrap;color:#fff;text-shadow:0 2px 0 #a10f55}.panel .ribbon small{font-family:var(--body);font-weight:800;font-size:13px;margin-left:8px;opacity:.9}.overlay{position:absolute;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;pointer-events:auto;background:radial-gradient(ellipse at center,#280a468c,#0a001ed9);animation:fadeIn .25s ease-out;padding:20px}@keyframes fadeIn{0%{opacity:0}}.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 16px 6px 8px;border-radius:999px;background:linear-gradient(180deg,#3c1464d9,#1e083cd9);border:3px solid rgba(255,255,255,.9);box-shadow:0 4px #14002899,0 6px 14px #0000004d;font-family:var(--display);font-size:20px;white-space:nowrap}.coin{width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff8c0,#ffd23f 45%,#e08a00);border:2px solid #8a4a00;box-shadow:inset 0 -2px #0003;display:inline-flex;align-items:center;justify-content:center;font-size:13px;color:#8a4a00;font-family:var(--display);flex:none}.coin:after{content:"¥"}.title{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;pointer-events:none}.logo{text-align:center;transform:rotate(-4deg);animation:logoBob 3s ease-in-out infinite;margin-bottom:8px}.logo .grad{font-size:clamp(56px,11vw,128px);line-height:.95;display:block}.logo .l2{margin-left:.6em}@keyframes logoBob{50%{transform:rotate(-2deg) translateY(-8px) scale(1.02)}}.hanko{display:inline-block;margin-top:12px;font-family:var(--display);font-size:clamp(16px,2.6vw,26px);background:linear-gradient(180deg,#ff4a4a,#c40030);border:3px solid #fff;padding:6px 18px;border-radius:10px;box-shadow:0 0 0 3px var(--ink),0 5px 0 3px var(--ink);transform:rotate(3deg)}.logo-slot{display:flex;justify-content:center;align-items:center;width:100%}.title-art{display:none;width:min(86vw,720px);max-height:42vh;object-fit:contain;filter:drop-shadow(0 8px 0 rgba(26,10,46,.55)) drop-shadow(0 0 28px rgba(255,122,217,.45));animation:logoBob 3s ease-in-out infinite;user-select:none}.title.has-art .title-art{display:block}.title.has-art .logo{display:none}.title .menu{display:flex;flex-direction:column;gap:18px;align-items:center;margin-top:10px}.title .menu .row{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}.title .big{font-size:34px;padding:18px 54px 22px}.title .tod{font-size:13px;padding:4px 14px;opacity:.9}.title .stats{font-weight:800;font-size:14px;opacity:.9;text-shadow:0 2px 4px rgba(0,0,0,.6);text-align:center}.corner{position:absolute;top:14px;display:flex;gap:8px;pointer-events:auto}.corner.r{right:14px}.corner.l{left:14px}.iconbtn{width:48px;height:48px;border-radius:50%;border:3px solid #fff;background:linear-gradient(180deg,#7a5ab0,#3a2468);box-shadow:0 4px #1a0f30,0 0 0 3px var(--ink);font-size:22px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;pointer-events:auto}.iconbtn:active{transform:translateY(3px)}.iconbtn.off{filter:grayscale(1) brightness(.7)}.hud{position:absolute;inset:0;pointer-events:none}.hud .tl{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.hud .tr{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;gap:8px;align-items:flex-end}.timer.low{animation:pulseRed .6s infinite}@keyframes pulseRed{50%{background:linear-gradient(180deg,#ff4a6a,#a0002a);transform:scale(1.06)}}.lines{display:flex;gap:4px}.lines span{font-size:22px;filter:drop-shadow(0 2px 0 var(--ink));transition:transform .3s,filter .3s}.lines span.lost{filter:grayscale(1) brightness(.4);transform:scale(.8)}.pips{display:flex;gap:5px;align-items:center;font-weight:800;font-size:12px;text-shadow:0 2px 3px rgba(0,0,0,.7)}.pips i{width:14px;height:14px;border-radius:50%;background:#00000059;border:2px solid #fff}.pips i.on{background:radial-gradient(circle at 35% 30%,#fff,var(--gold));box-shadow:0 0 8px var(--gold)}.fishbar{position:absolute;top:12px;left:50%;transform:translate(-50%);width:min(520px,46vw);text-align:center;transition:opacity .3s}.fishbar .name{font-family:var(--display);font-size:22px;display:flex;gap:8px;justify-content:center;align-items:baseline}.fishbar .name small{font-family:var(--body);font-weight:800;font-size:13px;opacity:.9}.tag{display:inline-block;font-family:var(--display);font-size:11px;padding:2px 8px;border-radius:6px;background:var(--ink);border:2px solid #fff;vertical-align:middle;text-shadow:none}.tag.shiny{background:linear-gradient(90deg,#ffd23f,#ff7ad9,#58c7ff)}.tag.mutant{background:linear-gradient(90deg,#8a2be2,#3ef07a)}.tag.trophy{background:linear-gradient(180deg,#ffe066,#e09a00);color:var(--ink)}.tag.crit{background:linear-gradient(90deg,#ff3f6c,#ff9a3c)}.tag.fever{background:linear-gradient(90deg,#ff5f6d,#ffc371,#6dffb3,#58c7ff,#b28dff)}.hpbar{margin-top:4px;height:22px;border-radius:12px;background:#140028bf;border:3px solid #fff;box-shadow:0 0 0 3px var(--ink),0 4px 0 3px var(--ink);overflow:hidden;position:relative}.hpbar .fill{position:absolute;inset:0;transform-origin:left;background:linear-gradient(180deg,#ffb3d1,#ff4f9a,#d0156a);transition:transform .1s linear}.hpbar .ghost{position:absolute;inset:0;transform-origin:left;background:#fff;transition:transform .6s ease-out .15s}.hpbar .fill:after{content:"";position:absolute;left:0;right:0;top:2px;height:35%;background:#ffffff73;border-radius:8px}.fishbar.boss .hpbar{height:28px}.fishbar.boss .hpbar .fill{background:linear-gradient(180deg,#ffe680,#ff7a2a 45%,#c4002f)}.phasepips{position:absolute;inset:0;pointer-events:none}.phasepips i{position:absolute;top:0;bottom:0;width:3px;background:var(--ink)}.tension{position:absolute;right:max(18px,3vw);top:50%;transform:translateY(-46%);height:min(48vh,420px);width:54px;display:flex;flex-direction:column;align-items:center;gap:6px;transition:opacity .3s}.tension .label{font-family:var(--display);font-size:12px;letter-spacing:.05em;text-shadow:0 2px 0 var(--ink)}.tension .tube{position:relative;flex:1;width:40px;border-radius:22px;background:linear-gradient(90deg,#0a001ed9,#280a46d9);border:3px solid #fff;box-shadow:0 0 0 3px var(--ink),0 5px 0 3px var(--ink),inset 0 0 12px #0009;overflow:hidden}.tension .danger{position:absolute;left:0;right:0;top:0;height:8%;background:repeating-linear-gradient(-45deg,#f35 0 6px,#ffd23f 6px 12px);opacity:.85}.tension .sweet{position:absolute;left:0;right:0;background:linear-gradient(90deg,#ff78c859,#ffb4e6a6,#ff78c859);border-top:2px solid #fff;border-bottom:2px solid #fff;box-shadow:0 0 14px #ff78c8cc}.tension .sweet.on{background:linear-gradient(90deg,#ffe67880,#ffffc8e6,#ffe67880);box-shadow:0 0 20px #ffe680}.tension .fill{position:absolute;left:6px;right:6px;bottom:4px;border-radius:14px;background:linear-gradient(0deg,#3ef0b0,#ffe14a 55%,#f35 92%);background-size:100% var(--h, 400px);background-position:bottom;opacity:.95}.tension .needle{position:absolute;left:-4px;right:-4px;height:4px;background:#fff;box-shadow:0 0 8px #fff,0 0 0 2px var(--ink);border-radius:2px}.tension .val{font-family:var(--display);font-size:16px;text-shadow:0 2px 0 var(--ink)}.tension.hot .tube{animation:shakeX .08s infinite;box-shadow:0 0 0 3px #f24,0 0 24px #f24}@keyframes shakeX{50%{transform:translate(2px)}}.linegauge{position:absolute;right:calc(max(18px,3vw) + 64px);top:50%;transform:translateY(-46%);height:min(36vh,300px);width:30px;display:flex;flex-direction:column;align-items:center;gap:4px}.linegauge .tube{flex:1;width:14px;border-radius:8px;background:#0a001ebf;border:2px solid #fff;position:relative;overflow:hidden;box-shadow:0 0 0 2px var(--ink)}.linegauge .fill{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,var(--cyan),#b28dff)}.linegauge .fill.far{background:linear-gradient(0deg,#ff9a3c,#f35)}.linegauge .lbl{font-family:var(--display);font-size:11px;text-shadow:0 2px 0 var(--ink);writing-mode:vertical-rl}@property --cc{syntax: "<color>"; inherits: true; initial-value: #3fd8ff;}.combo{--cc: var(--cyan);position:absolute;left:50%;top:88px;transform:translate(-50%);text-align:center;pointer-events:none;transition:opacity .2s;filter:drop-shadow(0 0 14px var(--cc)) drop-shadow(0 4px 10px rgba(0,8,30,.6));z-index:2}.combo.t5{--cc: var(--gold)}.combo.t10{--cc: #ff4fd8}.combo.t20,.combo.t50{--cc: #fff275;animation:comboHue 1.2s linear infinite}.combo.idle{transform:translate(-50%) scale(.62);transform-origin:50% 0;opacity:.8}.combo .cbox{position:relative;display:flex;align-items:center;gap:8px;transform:rotate(-4deg)}.combo .cbox:before{content:"";position:absolute;inset:-14px -26px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(14,4,40,.55) 0%,transparent 70%);z-index:-1}.combo .num{font-size:clamp(60px,8vw,104px);line-height:1}.combo.t20 .num,.combo.t50 .num{font-size:clamp(70px,9.5vw,124px)}.combo.t50 .cbox{animation:comboJitter .12s steps(2) infinite}.combo .side{display:flex;flex-direction:column;align-items:flex-start}.combo .lbl{font-size:clamp(20px,2.6vw,30px);letter-spacing:.08em;color:#fff;text-shadow:3px 0 0 var(--ink),-3px 0 0 var(--ink),0 3px 0 var(--ink),0 -3px 0 var(--ink),0 0 14px var(--cc),0 0 28px var(--cc)}.combo .mult{font-weight:800;font-size:13px;color:var(--cc);text-shadow:0 2px 0 var(--ink),0 0 8px rgba(0,0,0,.8)}.combo .ring{position:absolute;left:30%;top:50%;width:90px;height:90px;margin:-45px 0 0 -45px;border-radius:50%;border:5px solid var(--cc);box-shadow:0 0 18px var(--cc),inset 0 0 12px var(--cc);opacity:0;pointer-events:none}.combo .ring.go{animation:comboRing .45s ease-out}.combo .spark{position:absolute;left:30%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:#fff;box-shadow:0 0 8px var(--cc),0 0 16px var(--cc);animation:comboSpark .5s ease-out forwards}.combo .cbox.bump{animation:comboBump .34s cubic-bezier(.2,1.8,.4,1)}.combo.slam .cbox{animation:comboSlamBox .6s cubic-bezier(.2,1.6,.4,1)}.combo.broke .cbox{animation:comboBroke .75s ease-in forwards}.combo.broke{--cc: #ff2a4a;animation:none}@keyframes comboBump{0%{transform:rotate(-4deg) scale(1)}25%{transform:rotate(-9deg) scale(1.55) translateY(-6px)}50%{transform:rotate(2deg) scale(.92)}70%{transform:rotate(-6deg) scale(1.08) translate(3px)}to{transform:rotate(-4deg) scale(1)}}@keyframes comboSlamBox{0%{transform:rotate(-4deg) scale(2.4)}30%{transform:rotate(-4deg) scale(.85) translate(-8px)}45%{transform:rotate(-2deg) scale(1.15) translate(8px)}60%{transform:rotate(-6deg) scale(1) translate(-5px)}75%{transform:rotate(-4deg) translate(3px)}}@keyframes comboBroke{0%{transform:rotate(-4deg) scale(1.3);filter:brightness(2)}15%{transform:rotate(-12deg) translate(-10px)}30%{transform:rotate(6deg) translate(10px)}45%{transform:rotate(-8deg) translate(-6px);opacity:1}to{transform:rotate(18deg) translateY(60px) scale(.6);opacity:0}}@keyframes comboRing{0%{transform:scale(.3);opacity:1}to{transform:scale(2.1);opacity:0;border-width:1px}}@keyframes comboSpark{0%{transform:translate(0) scale(1.4);opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(.2);opacity:0}}@keyframes comboHue{0%{--cc: #ff5f6d}25%{--cc: #fff275}50%{--cc: #6dffb3}75%{--cc: #58c7ff}to{--cc: #ff7ad9}}@keyframes comboJitter{0%{transform:rotate(-4deg) translate(1px,-1px)}to{transform:rotate(-4deg) translate(-1px,1px)}}.comboslam{position:absolute;left:50%;top:46%;width:100%;text-align:center;transform:translate(-50%,-50%);pointer-events:none;white-space:nowrap;animation:slamIn 1.55s cubic-bezier(.2,1.5,.4,1) forwards;z-index:3}.comboslam .main .grad{line-height:1.05;filter:drop-shadow(5px 0 0 rgba(255,30,90,.75)) drop-shadow(-5px 0 0 rgba(30,230,255,.75))}.comboslam .sub .grad{font-size:min(7vw,9vh,76px);animation:slamSub 1.55s ease-out forwards}.comboslam.break .main .grad{filter:drop-shadow(6px 0 0 rgba(255,0,40,.8)) drop-shadow(-6px 0 0 rgba(120,0,255,.6))}.comboslam.break{animation-name:breakIn}@keyframes slamIn{0%{transform:translate(-50%,-50%) scale(3.2) rotate(-6deg);opacity:0}12%{transform:translate(-50%,-50%) scale(.88) rotate(-4deg);opacity:1}18%{transform:translate(calc(-50% + 12px),-50%) scale(1.08) rotate(-3deg)}24%{transform:translate(calc(-50% - 10px),-50%) scale(1) rotate(-5deg)}30%{transform:translate(calc(-50% + 5px),-50%) rotate(-4deg)}36%,78%{transform:translate(-50%,-50%) scale(1) rotate(-4deg);opacity:1}to{transform:translate(-50%,-70%) scale(1.12) rotate(-4deg);opacity:0}}@keyframes breakIn{0%{transform:translate(-50%,-50%) scale(1.8);opacity:0}10%{transform:translate(-50%,-50%) scale(1);opacity:1}15%{transform:translate(calc(-50% - 16px),-50%) rotate(3deg)}20%{transform:translate(calc(-50% + 14px),-50%) rotate(-3deg)}25%{transform:translate(calc(-50% - 8px),-50%) rotate(2deg)}30%,75%{transform:translate(-50%,-50%);opacity:1}to{transform:translate(-50%,-20%) scale(.9) rotate(4deg);opacity:0}}@keyframes slamSub{0%,10%{transform:scale(0) rotate(8deg)}24%{transform:scale(1.3) rotate(2deg)}34%,to{transform:scale(1) rotate(2deg)}}.edgeflash{position:absolute;inset:0;opacity:0;pointer-events:none;box-shadow:inset 0 0 60px 18px var(--ec, #ffd23f),inset 8px 0 40px #ff1e5ab3,inset -8px 0 40px #1ee6ffb3}.edgeflash.on{animation:edgeFlash .7s ease-out}@keyframes edgeFlash{0%{opacity:1}to{opacity:0}}body.chroma #gl{animation:chromaPulse .4s steps(4)}body.chroma .hud .fishbar{animation:chromaSplit .4s steps(4)}@keyframes chromaPulse{0%{filter:saturate(2.2) contrast(1.2) hue-rotate(-25deg)}50%{filter:saturate(1.7) brightness(1.15) hue-rotate(25deg)}to{filter:none}}@keyframes chromaSplit{0%{filter:drop-shadow(6px 0 0 rgba(255,0,80,.7)) drop-shadow(-6px 0 0 rgba(0,240,255,.7))}50%{filter:drop-shadow(-4px 0 0 rgba(255,0,80,.6)) drop-shadow(4px 0 0 rgba(0,240,255,.6))}to{filter:none}}.bottom{position:absolute;left:0;right:0;bottom:calc(10px + var(--safe-b));display:flex;flex-direction:column;align-items:center;gap:10px}.feverbox{width:min(560px,70vw);position:relative}.feverbox .bar{height:20px;border-radius:12px;background:#140028cc;border:3px solid #fff;box-shadow:0 0 0 3px var(--ink),0 4px 0 3px var(--ink);overflow:hidden;position:relative}.feverbox .bar .fill{position:absolute;inset:0;transform-origin:left;background:linear-gradient(90deg,#ff5f6d,#ffc371,#fff275,#6dffb3,#58c7ff,#b28dff,#ff7ad9);background-size:200% 100%;animation:rainbowShift 2s linear infinite}.feverbox .lbl{position:absolute;left:-6px;top:-16px;font-size:18px;transform:rotate(-6deg);z-index:2}.feverbox.on .bar{box-shadow:0 0 0 3px var(--ink),0 0 26px #fff275,0 0 50px #ff7ad9;animation:feverPulse .4s infinite alternate}@keyframes feverPulse{to{transform:scale(1.03)}}.controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;column-gap:clamp(10px,3.5vw,36px);width:min(100%,620px);margin:0 auto;padding:0 max(10px,var(--safe-l, 0px)) 0 max(10px,var(--safe-r, 0px))}.controls .side{display:flex;align-items:flex-end;min-width:0}.controls .side.l{justify-content:flex-end}.controls .side.r{justify-content:flex-start}.controls .burstwrap{display:flex;flex-direction:column;align-items:center}.controls .ctl.main{grid-column:2}.ctl{width:clamp(96px,16vw,128px);height:clamp(96px,16vw,128px);border-radius:50%;padding:0;min-width:0;flex-direction:column;gap:2px;font-size:clamp(15px,2.3vw,19px);touch-action:none}.ctl.main{width:clamp(120px,20vw,150px);height:clamp(120px,20vw,150px);font-size:clamp(22px,3.4vw,28px)}.ctl .jp{font-family:var(--body);font-weight:800;font-size:11px;opacity:.95}.burst{position:relative;width:clamp(84px,13vw,104px);height:clamp(84px,13vw,104px);border-radius:50%;margin-bottom:18px;cursor:pointer;pointer-events:auto;touch-action:none}.burst .ring{position:absolute;inset:0;border-radius:50%;background:conic-gradient(var(--gold) calc(var(--p, 0) * 1%),rgba(20,0,40,.8) 0);border:3px solid #fff;box-shadow:0 0 0 3px var(--ink),0 5px 0 3px var(--ink)}.burst .core{position:absolute;inset:12%;border-radius:50%;background:radial-gradient(circle at 40% 30%,#8a7aa8,#3a2a5e);border:3px solid #fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--display);font-size:clamp(13px,2vw,16px);color:#ddd;transition:background .2s}.burst .core b{font-size:1.7em;line-height:1}.burst.ready .core{background:radial-gradient(circle at 40% 30%,#fffbe0,#ffd23f 50%,#ff8a00);color:#fff;text-shadow:0 2px 0 #a85a00;animation:burstReady .5s infinite alternate}.burst.ready .ring{box-shadow:0 0 0 3px var(--ink),0 0 30px #ffd23f,0 0 60px #ff8a00}@keyframes burstReady{to{transform:scale(1.08) rotate(4deg)}}.keyhint{font-size:12px;font-weight:800;opacity:.85;text-shadow:0 2px 3px rgba(0,0,0,.8);text-align:center}.castmeter{position:absolute;left:50%;bottom:calc(clamp(192px,28vw,232px) + var(--safe-b));transform:translate(-50%);width:min(460px,78vw);text-align:center}.castmeter .bar{height:30px;border-radius:16px;background:#140028cc;border:3px solid #fff;box-shadow:0 0 0 3px var(--ink),0 5px 0 3px var(--ink);position:relative;overflow:hidden}.castmeter .zone{position:absolute;top:0;bottom:0;left:80%;width:15%;background:repeating-linear-gradient(-45deg,#ffe14a 0 8px,#ffb000 8px 16px);box-shadow:0 0 14px #ffe14a}.castmeter .fill{position:absolute;top:0;bottom:0;left:0;background:linear-gradient(90deg,#3fd8ff99,#ff4f9acc)}.castmeter .mark{position:absolute;top:-4px;bottom:-4px;width:6px;margin-left:-3px;background:#fff;border-radius:3px;box-shadow:0 0 10px #fff,0 0 0 2px var(--ink)}.castmeter .hint{font-family:var(--display);font-size:18px;margin-bottom:8px;animation:hintBob 1s ease-in-out infinite}@keyframes hintBob{50%{transform:translateY(-4px)}}.prompt{position:absolute;left:50%;top:30%;transform:translate(-50%,-50%);text-align:center;white-space:nowrap;pointer-events:none}.prompt .grad{font-size:clamp(36px,7vw,76px)}.prompt.flash .grad{animation:promptFlash .25s infinite alternate}@keyframes promptFlash{to{transform:scale(1.12) rotate(-3deg)}}.pops{position:absolute;inset:0;pointer-events:none}.pop{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;animation:popUp 1s cubic-bezier(.2,1.6,.4,1) forwards;pointer-events:none}.pop .grad{font-size:28px}.pop.big .grad{font-size:clamp(48px,9vw,104px)}.pop.mid .grad{font-size:clamp(34px,5vw,54px)}.pop.small .grad{font-size:20px}@keyframes popUp{0%{transform:translate(-50%,-50%) scale(.2) rotate(-10deg);opacity:0}18%{transform:translate(-50%,-50%) scale(1.25) rotate(-4deg);opacity:1}30%{transform:translate(-50%,-50%) scale(1) rotate(-4deg)}75%{opacity:1}to{transform:translate(-50%,-110%) scale(1) rotate(-4deg);opacity:0}}.pop.long{animation-duration:1.8s}.fxlayer{position:absolute;inset:0;pointer-events:none}.vignette{position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 50%,rgba(255,0,50,.55) 100%);opacity:0;transition:opacity .15s}.uwfx{position:absolute;inset:0;opacity:0;transition:opacity .5s;background:linear-gradient(180deg,rgba(160,240,255,.18) 0%,transparent 22%),radial-gradient(ellipse at 50% 45%,transparent 58%,rgba(0,30,70,.5) 100%)}.uwfx.on{opacity:1}.uwfx:after{content:"";position:absolute;inset:0;opacity:0;background:linear-gradient(0deg,rgba(220,250,255,.85),rgba(120,210,255,.35) 45%,transparent 70%)}.uwfx.dive:after{animation:diveWipe .55s ease-out}@keyframes diveWipe{0%{opacity:.9;transform:translateY(40%)}to{opacity:0;transform:translateY(-60%)}}.hud.underwater .tension,.hud.underwater .linegauge,.hud.underwater .fishbar,.hud.underwater .prompt{filter:drop-shadow(0 2px 6px rgba(0,10,30,.55))}.whiteflash{position:absolute;inset:0;background:#fff;opacity:0}.feverfx{position:absolute;inset:-50%;background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.16) 0 6deg,transparent 6deg 18deg);mix-blend-mode:overlay;opacity:0;transition:opacity .4s;animation:spin 12s linear infinite}.feverfx.on{opacity:1}.feverframe{position:absolute;inset:0;box-shadow:inset 0 0 60px 10px #ff78dc99;border:6px solid transparent;border-image:linear-gradient(90deg,#ff5f6d,#ffc371,#fff275,#6dffb3,#58c7ff,#b28dff,#ff7ad9) 1;opacity:0;transition:opacity .4s;animation:hueSpin 1.5s linear infinite}.feverframe.on{opacity:1}@keyframes hueSpin{to{filter:hue-rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}.speedlines{position:absolute;inset:-20%;background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.5) 0 .6deg,transparent .6deg 7deg);-webkit-mask:radial-gradient(circle at center,transparent 32%,#000 70%);mask:radial-gradient(circle at center,transparent 32%,#000 70%);opacity:0;transition:opacity .2s}.speedlines.on{opacity:.55;animation:spin .6s steps(6) infinite}.bossintro{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#50001459,#000000bf);animation:fadeIn .3s}.bossintro .tape{position:absolute;left:-10%;right:-10%;height:42px;background:repeating-linear-gradient(-45deg,#ffd23f 0 24px,#1a0f14 24px 48px);display:flex;align-items:center;overflow:hidden;border-top:3px solid #fff;border-bottom:3px solid #fff}.bossintro .tape.a{top:16%;transform:rotate(-3deg)}.bossintro .tape.b{bottom:16%;transform:rotate(3deg)}.bossintro .tape span{font-family:var(--display);font-size:22px;color:#fff;white-space:nowrap;text-shadow:0 0 0 #000,2px 2px 0 #000,-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000;animation:tape 6s linear infinite}.bossintro .tape.b span{animation-direction:reverse}@keyframes tape{to{transform:translate(-50%)}}.bossintro .kanji{font-size:clamp(80px,16vw,190px);animation:slam .5s cubic-bezier(.2,1.8,.4,1)}.bossintro .en{font-family:var(--display);font-size:clamp(20px,3vw,32px);margin-top:8px;letter-spacing:.15em;text-shadow:0 3px 0 #000;animation:fadeIn 1s .4s both}@keyframes slam{0%{transform:scale(4);opacity:0}}.catchcard{position:absolute;left:50%;bottom:calc(18% + var(--safe-b));transform:translate(-50%);width:min(460px,90vw);padding:30px 20px 18px;text-align:center;animation:cardIn .5s cubic-bezier(.2,1.6,.4,1) both .3s}@keyframes cardIn{0%{transform:translate(-50%) translateY(60px) scale(.6);opacity:0}}.catchcard .nm{font-family:var(--display);font-size:30px;line-height:1.1}.catchcard .jp{font-weight:800;opacity:.7;font-size:14px}.catchcard .tags{margin:8px 0;display:flex;gap:6px;justify-content:center;flex-wrap:wrap;color:#fff}.catchcard .row{display:flex;justify-content:center;gap:18px;font-weight:800;font-size:16px;align-items:center}.catchcard .val{font-family:var(--display);font-size:30px;color:#e08a00;display:inline-flex;align-items:center;gap:6px}.stars{color:var(--gold);font-size:18px;letter-spacing:2px;text-shadow:0 2px 0 var(--ink)}.cards-wrap{display:flex;flex-direction:column;align-items:center;gap:24px}.cards-wrap .head{text-align:center}.cards-wrap .head .grad{font-size:clamp(30px,5vw,50px)}.cards-wrap .head .sub{font-weight:800;opacity:.9;margin-top:6px}.cards{display:flex;gap:clamp(10px,2.4vw,26px);justify-content:center;flex-wrap:wrap}.card{--rc: #7fe0ff;--rc2: #2a8cff;width:clamp(150px,26vw,220px);min-height:clamp(220px,34vw,300px);border-radius:22px;padding:18px 14px 16px;background:linear-gradient(180deg,#fffafd,#f3e8ff);color:var(--ink);border:4px solid #fff;box-shadow:0 0 0 4px var(--ink),0 10px 0 4px var(--ink),0 0 30px var(--rc);display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;cursor:pointer;position:relative;animation:cardFlip .6s cubic-bezier(.2,1.4,.4,1) both;transition:transform .15s;pointer-events:auto}.card:hover{transform:translateY(-10px) rotate(-1deg) scale(1.04)}.card.rare{--rc: #ff86c0;--rc2: #ff3f8e}.card.epic{--rc: #ffd23f;--rc2: #ff8a00;background:linear-gradient(180deg,#fffbe6,#ffe8b0)}.card .rar{position:absolute;top:-14px;font-family:var(--display);font-size:12px;padding:3px 12px;border-radius:8px;background:linear-gradient(180deg,var(--rc),var(--rc2));color:#fff;border:2px solid #fff;box-shadow:0 0 0 2px var(--ink)}.card .ico{width:clamp(64px,10vw,86px);height:clamp(64px,10vw,86px);border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,var(--rc) 60%,var(--rc2));border:3px solid #fff;box-shadow:0 0 0 3px var(--ink),0 0 20px var(--rc);display:flex;align-items:center;justify-content:center;font-size:clamp(32px,5vw,44px);margin-top:6px}.card .cn{font-family:var(--display);font-size:clamp(16px,2.2vw,21px);line-height:1.1}.card .cj{font-weight:800;font-size:12px;opacity:.6}.card .cd{font-size:13px;font-weight:700;line-height:1.35;opacity:.9}.card .stack{font-size:11px;font-weight:800;color:#a10f55}.card.chosen{animation:chosen .6s ease-out forwards}.card.gone{animation:gone .4s ease-in forwards}@keyframes cardFlip{0%{transform:rotateY(90deg) translateY(40px);opacity:0}}@keyframes chosen{40%{transform:scale(1.15) rotate(-3deg);box-shadow:0 0 0 4px var(--ink),0 0 80px #fff}to{transform:scale(1.3) translateY(-60px);opacity:0}}@keyframes gone{to{transform:translateY(60px) scale(.8);opacity:0}}.modal{width:min(880px,96vw);max-height:88vh;max-height:88dvh;display:flex;flex-direction:column;padding:34px 20px 18px}.modal .body{overflow-y:auto;overflow-x:hidden;padding:6px 6px 10px;touch-action:pan-y;flex:1}.modal .foot{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;padding-top:14px}.tabs{display:flex;gap:8px;justify-content:center;margin-bottom:12px;flex-wrap:wrap}.tabs .btn{font-size:14px;padding:8px 16px 10px;min-width:0}.tabs .btn:not(.active){--c1: #d9cdea;--c2: #a796c4;--edge: #5a4a80}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}.item{background:#fff;border-radius:18px;border:3px solid var(--ink2);box-shadow:0 5px 0 var(--ink2);padding:12px;display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center}.item .ic{font-size:36px;line-height:1}.item .nm{font-family:var(--display);font-size:17px}.item .nm small{display:block;font-family:var(--body);font-weight:800;font-size:11px;opacity:.6}.item .ds{font-size:12px;font-weight:700;opacity:.85;min-height:30px}.lv{display:flex;gap:3px}.lv i{width:16px;height:8px;border-radius:4px;background:#ddd;border:1px solid var(--ink2)}.lv i.on{background:linear-gradient(180deg,#ff86c0,var(--pink))}.price{display:inline-flex;align-items:center;gap:4px}.price .coin{width:20px;height:20px;font-size:10px}.results .summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.results .stat{background:#fff;border:3px solid var(--ink2);border-radius:14px;padding:8px;text-align:center}.results .stat b{display:block;font-family:var(--display);font-size:24px;color:var(--pink)}.results .stat span{font-size:11px;font-weight:800;opacity:.7}.fishrow{display:grid;grid-template-columns:76px 1fr auto;gap:10px;align-items:center;background:#fff;border:3px solid var(--ink2);border-radius:14px;padding:6px 10px;margin-bottom:8px}.fishrow img,.thumb{width:76px;height:38px;object-fit:contain}.fishrow .info b{font-family:var(--display);font-size:15px}.fishrow .info div{font-size:12px;font-weight:700;opacity:.8}.fishrow .tags{display:inline-flex;gap:4px;color:#fff}.toggle{display:flex;border-radius:12px;overflow:hidden;border:3px solid var(--ink2)}.toggle button{border:0;padding:8px 12px;font-family:var(--display);font-size:13px;cursor:pointer;background:#eee;color:#777}.toggle button.on.keep{background:linear-gradient(180deg,#84ecff,#2a8cff);color:#fff}.toggle button.on.sell{background:linear-gradient(180deg,#fff08a,#ffaa1d);color:#6a3a00}.toggle button:disabled{opacity:.4;cursor:not-allowed}.aq-top{position:absolute;top:12px;left:12px;right:12px;display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}.aq-title{font-size:clamp(24px,4vw,40px);transform:rotate(-3deg)}.aq-title small{font-family:var(--body);font-size:.4em;display:block;font-weight:800}.aq-bottom{position:absolute;left:0;right:0;bottom:calc(16px + var(--safe-b));display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding:0 10px}.aq-info{position:absolute;right:16px;bottom:calc(100px + var(--safe-b));width:min(300px,80vw);padding:30px 16px 16px;text-align:center;animation:cardIn2 .35s cubic-bezier(.2,1.5,.4,1)}@keyframes cardIn2{0%{transform:translateY(40px) scale(.8);opacity:0}}.aq-info img{width:180px;height:90px;object-fit:contain}.aq-empty{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);text-align:center;font-family:var(--display);font-size:22px;opacity:.95}.aq-empty small{display:block;font-family:var(--body);font-weight:800;font-size:14px;margin-top:6px}.feedcursor{cursor:crosshair}.zk{background:#fff;border:3px solid var(--ink2);border-radius:16px;padding:10px;text-align:center;position:relative}.zk img{width:100%;height:80px;object-fit:contain}.zk.unknown img{filter:brightness(0) opacity(.35)}.zk .no{position:absolute;top:6px;left:10px;font-family:var(--display);font-size:12px;opacity:.5}.zk .nm{font-family:var(--display);font-size:16px}.zk .meta{font-size:11px;font-weight:800;opacity:.75}.zk .meta.ja{font-size:11px;font-weight:700;margin-top:2px}.zk .tag{color:#fff}.tut{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.tut .step{background:#fff;border:3px solid var(--ink2);border-radius:18px;padding:14px;text-align:center}.tut .step .n{font-family:var(--display);font-size:34px;color:var(--pink)}.tut .step h3{font-family:var(--display);margin:4px 0;font-size:18px}.tut .step p{font-size:13px;font-weight:700;margin:4px 0;line-height:1.45}.kbd{display:inline-block;background:var(--ink);color:#fff;border-radius:6px;padding:1px 7px;font-size:11px;font-weight:800}.toast{position:absolute;left:50%;top:18%;transform:translate(-50%);padding:10px 22px;font-size:18px;animation:toast 2.6s ease forwards;pointer-events:none;text-align:center}@keyframes toast{0%{opacity:0;transform:translate(-50%) translateY(-20px)}10%,80%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0}}.loading{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:28px;background:#140a2c;z-index:10;transition:opacity .5s}@media(max-width:760px),(max-height:520px){.btn{font-size:18px;padding:11px 22px 13px}.title .big{font-size:26px;padding:14px 36px 18px}.fishbar{width:min(94vw,520px);top:104px}.hud .tr{flex-direction:row-reverse;align-items:center}.hud .tr .pill{font-size:15px;padding:4px 12px 4px 6px}.hud .tr .pill .coin{width:20px;height:20px}.hud .tr .pill:last-child{display:none}.hud .iconbtn{width:40px;height:40px;font-size:18px}.tension .label{font-size:9px}.ctl{font-size:15px}.ctl.main{font-size:21px}.fishrow{grid-template-columns:64px 1fr}.fishrow .toggle{grid-column:1 / -1}.fishrow .toggle button{flex:1}.fishbar .name{font-size:17px}.tension{height:34vh;width:44px;right:10px;top:44%}.tension .tube{width:32px}.linegauge{right:62px;height:26vh;top:44%}.combo{top:168px}.combo .num{font-size:64px}.combo.t20 .num,.combo.t50 .num{font-size:76px}.results .summary{grid-template-columns:repeat(2,1fr)}.tut{grid-template-columns:1fr}.pill{font-size:16px}.keyhint{display:none}.modal{padding:30px 12px 12px}.panel .ribbon{font-size:18px;padding:6px 20px 8px}.catchcard .nm{font-size:24px}}@media(max-height:520px)and (orientation:landscape){.ctl,.burst{width:84px;height:84px}.ctl.main{width:100px;height:100px}.fishbar{top:10px;width:40vw}.combo{top:66px}.combo .num{font-size:54px}.combo.t20 .num,.combo.t50 .num{font-size:62px}.comboslam{top:42%}.feverbox{width:40vw}.castmeter{bottom:calc(158px + var(--safe-b))}.logo .grad{font-size:54px}}@media(pointer:fine){.ctl .tap-only{display:none}}
