:root{--sat:env(safe-area-inset-top,0px);--sar:env(safe-area-inset-right,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--ink:#f4fbff;--panel:#081c289e;--accent:#2bb4a0;--warn:#e0564a;--btn-h:64px}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);-webkit-text-size-adjust:100%;overscroll-behavior:none;background:#0b2a3a;margin:0;font-family:Hiragino Sans,Yu Gothic UI,Meiryo,system-ui,sans-serif;overflow:hidden}#app{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;height:100dvh;position:fixed;inset:0}.overlay .card,.zgrid,.zdbody{touch-action:pan-y}#c{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}#hud{pointer-events:none;position:absolute;inset:0}#hud>*{pointer-events:auto}button{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}[hidden]{display:none!important}.chip{top:calc(var(--sat) + 12px);background:var(--panel);letter-spacing:.04em;pointer-events:none;white-space:nowrap;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:999px;padding:8px 18px;font-size:17px;font-weight:700;position:absolute;left:50%;transform:translate(-50%)}@media (width<=520px){.chip{left:calc(var(--sal) + 174px);right:calc(var(--sar) + 10px);letter-spacing:0;width:fit-content;margin-inline:auto;padding:7px 12px;font-size:15px;transform:none}}.chip.act{background:#e0a028d9}.chip.reel{background:#2bb4a0d9}.chip.rage{background:#e0564ae0}#gauges{top:calc(var(--sat) + 58px);pointer-events:none;gap:5px;width:min(300px,62vw);display:grid;position:absolute;left:50%;transform:translate(-50%)}.gauge{text-shadow:0 1px 2px #0008;grid-template-columns:34px 1fr;align-items:center;gap:8px;font-size:12px;display:grid}.bar{contain:paint;background:#00000059;border-radius:4px;height:7px;overflow:hidden}.bar>i{background:#6fd6c8;width:100%;height:100%;display:block}#gLine{background:#f2e07a}#gLine.low{background:#e0564a}#toast{pointer-events:none;text-align:center;background:#081c28bd;border-radius:14px;max-width:88vw;padding:12px 22px;font-size:20px;font-weight:700;position:absolute;top:28%;left:50%;transform:translate(-50%)}.small{background:var(--panel);border:0;border-radius:14px;min-width:48px;min-height:48px;padding:0 14px;font-size:15px;font-weight:700;position:absolute}.fishCtl{top:calc(var(--sat) + 10px);left:calc(var(--sal) + 10px);gap:8px;display:flex;position:absolute}.fishCtl .small{opacity:.6;background:#0a243273;min-width:72px;padding:0 10px;font-size:14px;position:static}.fishCtl .small:active{opacity:.95}body.fishingActive #topLeft,body.fishingActive #settingsBtn,body.fishingActive #zukanBtn,body.fishingActive #topRight,body.fishingActive #dbgBtn{display:none!important}body.abandonOpen #pauseOverlay{display:none}#pauseButtons2{justify-items:center;gap:10px;display:grid}#controls{left:calc(var(--sal) + 18px);bottom:calc(var(--sab) + 18px);flex-direction:column;align-items:flex-start;gap:10px;display:flex;position:absolute}.btn{background:var(--panel);border:0;border-radius:16px;min-height:48px;padding:0 22px;font-size:18px;font-weight:800;box-shadow:0 2px 10px #0006}.btn.main{min-width:168px;height:var(--btn-h);background:#1d7f9e;font-size:22px}.btn.main.go{background:var(--accent)}.btn.main.act{background:#d99a1f;animation:.6s infinite alternate pulse}.btn.main.rage{background:var(--warn)}.btn.main.idle{opacity:.8;background:#3b5560}.btn.main:active{filter:brightness(1.15);transform:scale(.98)}.btn.secondary{min-height:48px;font-size:14px}@keyframes pulse{to{transform:scale(1.05)}}.overlay{padding:calc(var(--sat) + 12px) calc(var(--sar) + 12px) calc(var(--sab) + 12px) calc(var(--sal) + 12px);background:#040e168c;place-items:center;display:grid;position:absolute;inset:0}.card{text-align:center;background:#0a2432e6;border-radius:20px;width:min(420px,100%);max-height:100%;padding:22px 22px 20px;overflow:auto;box-shadow:0 8px 30px #0008}.card h2{margin:0 0 8px;font-size:22px}.card p{opacity:.9;margin:0 0 14px;line-height:1.5}#pauseButtons{justify-items:center;gap:10px;display:grid}#countdown{margin:8px 0;font-size:64px;font-weight:800;line-height:1.1}.badges{justify-content:center;gap:6px;display:flex}.badge{color:#2a1b00;letter-spacing:.12em;background:#e0a428;border-radius:999px;padding:2px 12px;font-size:15px;font-weight:800}#saveBanner{left:50%;top:calc(var(--sat) + 66px);background:#96281ee6;border-radius:12px;align-items:center;gap:10px;max-width:94vw;padding:8px 14px;font-size:14px;display:flex;position:absolute;transform:translate(-50%)}#saveBanner button{background:#fff3;border:0;border-radius:10px;min-height:40px;padding:0 12px;font-weight:700}@media (aspect-ratio<=1){#controls{left:calc(var(--sal) + 14px);right:calc(var(--sar) + 14px);align-items:stretch}.btn.main{width:100%}.btn.secondary{align-self:center}.chip{font-size:16px}}@media (height<=420px){:root{--btn-h:56px}.btn.main{min-width:140px;font-size:20px}#gauges{top:calc(var(--sat) + 52px)}.chip{padding:5px 14px;font-size:15px}}@media (prefers-reduced-motion:reduce){.btn.main.act{animation:none}}#hint{pointer-events:none;text-align:center;white-space:nowrap;color:#fff;letter-spacing:.06em;will-change:transform;text-shadow:0 0 2px #001c2cf2,0 1px 3px #001c2ce6,0 0 9px #001c2c8c,0 2px 14px #001c2c59;-webkit-text-stroke:.6px #06243699;paint-order:stroke fill;font-weight:800;position:absolute;top:0;left:0}#hint .h1{font-size:clamp(22px,2.5vw,34px);line-height:1.15}#hint .h2{letter-spacing:.16em;opacity:.92;margin-top:2px;font-size:clamp(12px,1.2vw,16px)}#hint.go{color:#d6fff4}#hint.act{color:#ffe9a3;animation:.55s ease-in-out infinite alternate hintPulse}#hint.rage{color:#ffc2b8}#hint.idle{opacity:.62;font-weight:700}#hint.idle .h1{font-size:clamp(16px,1.7vw,22px)}@keyframes hintPulse{to{filter:brightness(1.25);transform-origin:50%}}body.hinting #status,body.hintQuiet #status{display:none}body.pc #resumeBtn:after{content:"  (SPACE)";opacity:.75;letter-spacing:.06em;font-size:.78em}body.pc #continueBtn:after{content:"（SPACE）";opacity:.8;letter-spacing:.04em;font-size:.78em}@media (prefers-reduced-motion:reduce){#hint.act{animation:none}}body.pc #controls .btn.main{opacity:.5;min-width:120px;height:46px;box-shadow:none;font-size:16px}body.pc #controls .btn.main:hover{opacity:.9}body.pc #controls .btn.secondary{opacity:.6}body.pc #c{cursor:pointer}.card.settings{text-align:left;width:min(460px,100%)}.card.settings h2{text-align:center}.settings .row{grid-template-columns:64px 1fr;align-items:center;gap:10px;margin:8px 0;display:grid}.settings .lbl{opacity:.85;font-size:14px}.seg{flex-wrap:wrap;gap:6px;display:flex}.segbtn{background:#ffffff1f;border:0;border-radius:10px;min-height:40px;padding:0 12px;font-size:14px;font-weight:700}.segbtn.on{background:var(--accent);color:#05242a}.seg[data-key=sound] .segbtn,.seg[data-key=haptic] .segbtn{min-width:72px}.settings input[type=range]{width:100%;min-height:32px}.settings .note{opacity:.75;min-height:16px;margin:6px 0 12px;font-size:12px}.settings .btn{margin:0 auto;display:block}#settingsPanel{background:#040e1694}.card.settings{background:#0a2432f5;border:1px solid #8cdceb66}#settingsClose{color:#08303f;letter-spacing:.08em;cursor:pointer;background:#e6f8fb;border:2px solid #bff3fb;border-radius:14px;min-width:190px;min-height:52px;margin-top:8px;font-size:18px;font-weight:800;box-shadow:0 3px 12px #0007}#settingsClose:hover{background:#fff}#settingsClose:active{background:#c9eef5;transform:scale(.98)}body.settingsOpen #pauseOverlay{display:none}@media (height<=520px){.card.settings{padding:12px 18px 0}.card.settings h2{margin-bottom:2px;font-size:18px}.settings .row{margin:3px 0}.segbtn{min-height:36px}.settings .note{margin:2px 0 6px}#settingsClose{min-height:46px;margin-top:6px;position:sticky;bottom:4px}}body.pc #pauseRetrieve:after{content:" (ESC)";opacity:.75;letter-spacing:.06em;font-size:.78em}.result .rarity{letter-spacing:.08em;color:#cfe3ec;margin:-4px 0 10px;font-size:16px;font-weight:800}.result .rarity[data-rarity=rare]{color:#7fd0ff}.result .rarity[data-rarity=superRare]{color:#d9a8ff}.result .rarity[data-rarity=ultra]{color:#ffd45a;text-shadow:0 0 10px #ffc83c8c}.badge.crown{background:#f4d36a}.badge.junk{color:#10181d;background:#8a9aa3}.zjunk{color:#9fc3d0;border-top:1px solid #8cdceb29;padding:8px 16px 12px;font-size:13px}#resultOverlay{pointer-events:none;position:absolute;inset:0}#resultInfo{left:50%;top:calc(var(--sat) + 9%);text-align:center;pointer-events:none;color:#fff;text-shadow:0 0 3px #001422f2,0 2px 8px #001422cc,0 0 22px #0014228c;flex-direction:column;align-items:center;gap:4px;width:min(92vw,520px);display:flex;position:absolute;transform:translate(-50%)}#resultInfo .fishname{letter-spacing:.1em;font-size:clamp(30px,5.2vw,46px);font-weight:800;line-height:1.15}#resultInfo .fishsize{color:#ffe88a;justify-content:center;align-items:center;gap:8px;font-size:clamp(30px,5.2vw,46px);font-weight:800;line-height:1.15;display:flex}#resultInfo .rcrown{filter:drop-shadow(0 1px 4px #001422cc);width:1em;height:1em}#resultInfo .savestate{background:#96281ed9;border-radius:10px;margin-top:6px;padding:6px 12px;font-size:14px}#continueBtn{left:50%;bottom:calc(var(--sab) + 28px);pointer-events:auto;letter-spacing:.06em;background:#081c28b8;border:2px solid #bef3fbbf;width:auto;min-width:190px;height:58px;font-size:22px;position:absolute;transform:translate(-50%)}#continueBtn:active{transform:translate(-50%)scale(.98)}#hud{transition:opacity .3s}body.uiIdle #hud{opacity:0;transition-duration:.45s}body.uiIdle #hud>*,body.uiGuard #hud>*{pointer-events:none!important}#zukanPanel{touch-action:pan-y;background:radial-gradient(#04141e80,#020a12bd)}.zbook{background:#092636f7;border:1px solid #8cdceb47;border-radius:20px;flex-direction:column;width:min(900px,100%);height:min(760px,100%);display:flex;position:relative;overflow:hidden;box-shadow:0 10px 40px #000a}.zhead{border-bottom:1px solid #8cdceb29;align-items:center;gap:12px;padding:14px 16px 10px;display:flex}.zhead h2{letter-spacing:.08em;margin:0;font-size:22px}.zprog{color:#9fe3ee;flex:1;font-size:16px;font-weight:700}.zclose{touch-action:manipulation;cursor:pointer;background:#ffffff24;border:0;border-radius:12px;min-height:44px;padding:0 18px;font-size:15px;font-weight:800}.zclose:hover{background:#ffffff38}.zgrid{--cols:5;-webkit-overflow-scrolling:touch;grid-template-columns:repeat(var(--cols), minmax(0, 1fr));touch-action:pan-y;flex:1;align-content:start;gap:12px;min-height:0;padding:14px 16px 18px;display:grid;overflow:hidden auto}.zcard{aspect-ratio:1/1.05;touch-action:manipulation;cursor:pointer;text-align:center;min-width:0;color:var(--ink);background:#14465c8c;border:1px solid #8cdceb38;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px 6px;display:flex;position:relative}.zcard.got:hover{background:#20647eb3}.zcard.unknown{cursor:default;color:#5f8798;background:#081a268c}.zcard .pic{flex:none;width:72%;max-height:46%}.zcard .pic-sil{color:#8fd9e6}.zcard .pic-unknown{color:#14394a}.zcard .pic-img{object-fit:contain}.zname{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:clamp(13px,1.5vw,17px);font-weight:800;overflow:hidden}.zcard.unknown .zname{letter-spacing:.2em;color:#6f98a8}.zrar{color:#cfe3ec;font-size:11px;font-weight:700}.zcard[data-rarity=rare]{border-color:#7fd0ff99}.zcard[data-rarity=rare] .zrar{color:#7fd0ff}.zcard[data-rarity=superRare]{border-color:#d9a8ff99}.zcard[data-rarity=superRare] .zrar{color:#d9a8ff}.zcard[data-rarity=ultra]{border-color:#ffd45aa6}.zcard[data-rarity=ultra] .zrar{color:#ffd45a}.zcrowns{align-items:flex-end;display:flex;position:absolute;top:6px}.zcrowns.min{left:6px}.zcrowns.max{right:6px}.crown{width:18px;height:18px;display:block}.crown.sm{width:13px;height:13px}.crown.gold{color:#f4c542}.crown.silver{color:#d5e2ea}.zdetail{background:#082333;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:16px;display:flex;position:absolute;inset:0;overflow-y:auto}.zdbody{text-align:center;width:min(420px,100%)}.dpic{color:#8fd9e6;background:#14465c80;border-radius:16px;width:min(220px,60%);margin:0 auto 6px;padding:14px}.dpic .pic{width:100%;display:block}.dname{letter-spacing:.06em;margin:6px 0 2px;font-size:28px}.drar{letter-spacing:.08em;color:#cfe3ec;margin-bottom:8px;font-size:16px;font-weight:800}.drar[data-rarity=rare]{color:#7fd0ff}.drar[data-rarity=superRare]{color:#d9a8ff}.drar[data-rarity=ultra]{color:#ffd45a}.dcount{margin-bottom:12px;font-size:17px}.dcount b{font-size:24px}.drecs{grid-template-columns:1fr 1fr;gap:10px;display:grid}.drec{background:#14465c80;border-radius:12px;min-width:0;padding:10px 8px}.drec .dl{opacity:.8;font-size:13px}.drec .dv{margin:2px 0 4px;font-size:22px;font-weight:800}.crowntag{color:#ffe9a3;align-items:center;gap:4px;font-size:13px;font-weight:700;display:inline-flex}.crowntag .crown{width:18px;height:18px}@media (width<=899px){.zgrid{--cols:4}}@media (width<=559px){.zgrid{--cols:3;gap:8px;padding:10px 10px 14px}.zhead{gap:8px;padding:10px 12px 8px}.zhead h2{font-size:19px}.zprog{font-size:14px}.zcard{padding:6px 3px}.zrar{font-size:10px}.dname{font-size:24px}.drec .dv{font-size:19px}}@media (height<=420px){.zbook{height:100%}.dpic{width:90px}}.topRight,.topLeft{top:calc(var(--sat) + 10px);flex-direction:column;gap:6px;display:flex;position:absolute}.topRight{right:calc(var(--sar) + 10px);align-items:stretch}.topLeft{left:calc(var(--sal) + 10px);align-items:stretch}.topRight .small,.topLeft .small{text-align:center;min-width:84px;min-height:44px;color:inherit;white-space:nowrap;justify-content:center;align-items:center;padding:0 12px;text-decoration:none;display:flex;position:static}.topLeft #backBtn{font-size:13px}.sceneSel.on{background:var(--accent);color:#05242a}@media (height<=520px),(width<=480px){.topRight,.topLeft{gap:4px}.topRight .small,.topLeft .small{min-width:76px;min-height:40px;padding:0 8px;font-size:14px}.topLeft #backBtn{font-size:11px}}#resultInfo .rcrowntag{letter-spacing:.05em;text-shadow:0 1px 4px #001422cc;margin:0 .6em 0 .25em;font-size:.5em;font-weight:800}.badge.rec{background:#7fd0e8}.drec .dnone{opacity:.55;font-size:15px}.dcrowns{margin-top:10px}
