@charset "UTF-8";
:root{color-scheme:dark;--bg:#081e29;--panel:#0e2a36;--ink:#e8f1ed;--muted:#8aabb3;--mint:#9ee4d0;--gold:#ffe4a2;--line:rgba(170,222,223,.13);font-family:"Malgun Gothic","Apple SD Gothic Neo",system-ui,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(ellipse at 30% -30%,#164351 0,transparent 60%),var(--bg);color:var(--ink)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #b9f8df;outline-offset:5px}button:disabled{cursor:default}button{touch-action:manipulation}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}svg use{pointer-events:none}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}.app-shell{max-width:1440px;margin:auto;padding:32px 48px 22px}.page-header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 1px 29px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--ink)}.brand-mark{width:44px;height:48px;display:grid;place-items:center;border:1px solid #77bea783;border-radius:50% 50% 44% 44%;color:var(--mint);transform:rotate(-8deg)}.brand-mark svg{width:28px;height:28px;transform:rotate(8deg)}.brand-name{font-family:Georgia,"Times New Roman",serif;font-size:31px;letter-spacing:-1.4px;display:block;line-height:1.1}.brand-dot{color:var(--mint)}.brand-caption{display:block;margin-top:6px;font-size:10px;letter-spacing:3px;color:var(--muted)}.journey{display:flex;align-items:center;gap:20px;margin-left:25px}.journey-step{display:flex;align-items:center;gap:9px;color:#6f919b;font-size:11px}.journey-step b{display:grid;place-items:center;width:25px;height:25px;border:1px solid #56778366;border-radius:50%;font-size:10px;font-weight:500}.journey-step.current{color:#c9f1e3}.journey-step.current b{background:var(--mint);border-color:var(--mint);color:#0b3640;box-shadow:0 0 20px #7affcf14}.journey-step.complete{color:var(--mint)}.journey-step.complete b{border-color:#85c4b4}.journey>i{width:29px;height:1px;background:#9ec4c42b}.help-button{display:flex;align-items:center;gap:8px;background:none;border:1px solid var(--line);border-radius:25px;padding:11px 15px;font-size:11px;color:#c6d9d9}.help-button svg{width:16px;height:16px}.help-button:hover{background:#173a45;border-color:#709b9b}
.game-section{border:1px solid #42687572;border-radius:14px;background:#0e2834;box-shadow:0 30px 80px #0004,0 0 0 5px #142e3738;overflow:hidden}.game-topline{display:flex;justify-content:space-between;align-items:center;padding:13px 20px;font-size:10px;color:#adc8ca;letter-spacing:1.6px;background:#0d2531}.game-topline>span:first-child{display:flex;align-items:center;gap:8px;font-size:9px}.game-topline>span:last-child{letter-spacing:.4px;font-size:10px;color:#7f9fa9}.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#9cdebd;box-shadow:0 0 7px #9cdebd60}.tank{position:relative;aspect-ratio:16/9;overflow:hidden;background:#027daf url('../Images/Background_Stage.png') center/cover;isolation:isolate;user-select:none;touch-action:manipulation}.tank::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:5;box-shadow:inset 0 0 55px #002e4f35,inset 0 1px 0 #93eeff80}.world{position:absolute;left:0;top:0;width:1280px;height:720px;transform-origin:top left;transform:scale(var(--world-scale,1));pointer-events:none}.water-light{position:absolute;inset:-10%;background:linear-gradient(105deg,transparent 20%,#d4ffff09 29%,transparent 33%,#d4ffff0a 48%,transparent 62%);animation:water-drift 14s ease-in-out infinite alternate;pointer-events:none}.bubbles{position:absolute;inset:0;overflow:hidden}.bubble{position:absolute;bottom:-15px;border:1px solid #c6ffff50;border-radius:50%;box-shadow:inset 1px 1px 3px #ffffff45;animation:bubble-rise linear infinite}.bubble::after{content:"";width:25%;height:25%;position:absolute;left:18%;top:14%;background:#e5ffff70;border-radius:50%}@keyframes bubble-rise{from{transform:translate(0,0);opacity:0}10%{opacity:.55}90%{opacity:.35}to{transform:translate(30px,-770px);opacity:0}}@keyframes water-drift{to{transform:translateX(5%) rotate(3deg)}}
.shop{position:absolute;top:1%;left:2%;width:60%;height:22%;display:flex;padding:1.35% 4.25%;gap:3.5%;background:url('../Images/UI_ItemSlot.png') center 43%/100% 140% no-repeat;z-index:7}.shop-item{position:relative;width:25%;height:100%;padding:0;background:transparent;border:0;border-radius:16px;display:flex;align-items:center;flex-direction:column;justify-content:center;transition:filter .2s,background .2s;white-space:nowrap}.shop-item:hover{background:#ccffff16}.shop-item:active{transform:translateY(2px)}.shop-label{font-size:clamp(9px,1.07vw,14px);font-weight:700;text-shadow:0 2px 4px #00456e;letter-spacing:-.3px}.shop-icon{display:block;width:clamp(25px,4.3vw,60px);height:clamp(24px,3.9vw,56px);flex-shrink:0;filter:drop-shadow(0 3px 2px #01356360)}.sprite{background-repeat:no-repeat;background-size:300% 300%;background-position:0 0}.guppy-icon{background-image:url('../Images/Guppy_Default.png')}.piranha-icon{background-image:url('../Images/Piranha_Default.png')}.food-icon{position:relative;display:grid;place-items:center}.food-icon img{width:75%;height:75%;object-fit:contain}.food-icon i{position:absolute;right:1%;top:0;font-style:normal;font-size:20px;color:#f6edb2}.egg-sprite{background-image:url('../Images/Egg.png');background-repeat:no-repeat;background-size:300% 100%;background-position:0 50%}.price{font-size:clamp(9px,1.13vw,16px);color:var(--gold);letter-spacing:.1px;text-shadow:0 2px 3px #134c70;line-height:1.25}.item-detail{position:absolute;top:calc(100% + 6px);font-size:clamp(7px,.7vw,10px);color:#d7f6fa;text-shadow:0 1px 4px #004266;white-space:nowrap}.shop-item.locked{visibility:hidden;pointer-events:none}.shop-item.poor:not(.locked){opacity:.4}.shop-item.poor .price{color:#d1e6e7}.shop-item.affordable:not(.locked){filter:drop-shadow(0 0 6px #d0ff9133)}.shop-item.maxed .shop-icon{opacity:.5}.wallet{position:absolute;z-index:6;right:2.4%;top:1.8%;width:24%;height:14.5%;background:url('../Images/UI_MoneySlot.png') center/100% 135% no-repeat;display:flex;align-items:center;justify-content:center;flex-direction:column;padding-bottom:1%}.wallet>span{font-size:clamp(7px,.75vw,10px);color:#d2fbfa;margin-top:5%;text-shadow:0 1px 3px #046087}.wallet>strong{display:flex;align-items:center;gap:7px;font-variant-numeric:tabular-nums;color:#fff2b7;text-shadow:0 2px 4px #064775;font-size:clamp(15px,2.4vw,34px);line-height:1.2;letter-spacing:.5px}.wallet img{width:clamp(14px,2.1vw,29px);height:clamp(14px,2.1vw,29px);object-fit:contain}.wallet small{font-size:.55em;align-self:end;margin-bottom:6%;opacity:.85}.wallet.bump strong{animation:money-pop .3s ease-out}@keyframes money-pop{50%{transform:scale(1.12)}}.tank-counters{position:absolute;top:18%;right:4.5%;z-index:6;display:flex;gap:19px;font-size:clamp(8px,.9vw,12px);color:#e2ffff;text-shadow:0 1px 4px #005787}.tank-counters>span{display:flex;align-items:center;gap:5px}.tank-counters svg{width:15px;height:15px;color:#b9f0ef}.tank-counters b{font-weight:600;font-variant-numeric:tabular-nums}.egg-goal{position:absolute;right:4.8%;top:29%;padding-left:15px;border-left:1px solid #d5ffff45;color:#edffff;text-shadow:0 2px 4px #06739344;pointer-events:none}.goal-eyebrow{display:block;font-size:clamp(7px,.65vw,9px);letter-spacing:1px;color:#a6e6f3;margin-bottom:7px}.egg-goal strong{font-size:clamp(9px,.98vw,13px);font-weight:500}.egg-progress{display:flex;align-items:center;gap:5px;margin-top:10px}.egg-progress i{width:21px;height:5px;border-radius:2px;background:#035d8c60;border:1px solid #bffaff44}.egg-progress i.filled{background:#ffe6a0;border-color:#fff2ce;box-shadow:0 0 9px #ffec9c33}.egg-progress span{margin-left:6px;font-size:10px;color:#daf7f6;font-variant-numeric:tabular-nums}
.tank-bottom{position:absolute;bottom:0;left:0;right:0;height:10%;z-index:7;display:flex;align-items:center;padding:0 2.8%;background:linear-gradient(transparent,#03314375);gap:15px}.stage-tag{display:flex;align-items:center;gap:9px;color:white;text-shadow:0 1px 4px #28526d}.stage-tag small{font-size:8px;letter-spacing:2px}.stage-tag strong{font-size:clamp(13px,1.4vw,19px);font-weight:500}.stage-tag>span{font-size:10px;opacity:.86;margin-left:4px}.message{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:9px;align-items:center;justify-content:center;max-width:61%;padding:10px 16px;border-radius:25px;background:#073c589c;backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px #d4ffff27;font-size:clamp(8px,.94vw,13px);color:#ecffff;line-height:1.4;white-space:normal;text-align:center}.message svg{width:16px;height:16px;color:#bff5e9}.message.error{color:#ffdeb1}.message.success{color:#dbffb7}.water-depth{margin-left:auto;font-size:6px;letter-spacing:1.3px;opacity:.65}.threat-banner{z-index:8;position:absolute;left:50%;top:25%;transform:translateX(-50%);background:#4d173bdd;border:1px solid #f9a5d189;box-shadow:0 0 40px #cc47784a;border-radius:8px;display:flex;align-items:center;gap:9px;padding:12px 20px;color:#ffe8eb;font-size:13px}.threat-banner>span:last-child{font-size:11px;opacity:.8}.alert-pulse{width:7px;height:7px;border-radius:50%;background:#ffb2b9;animation:alert 1s infinite}@keyframes alert{50%{opacity:.35}}.tank.danger{box-shadow:inset 0 0 60px #d0007933}.tank.danger::after{box-shadow:inset 0 0 65px #a8167033}
.entity{position:absolute;left:0;top:0;will-change:transform;pointer-events:none}.fish-entity{z-index:2;filter:drop-shadow(0 5px 4px #00608320)}.fish-visual{position:absolute;inset:0;background-repeat:no-repeat;transform-origin:center}.fish-label{position:absolute;top:-13px;left:50%;transform:translateX(-50%);border-radius:8px;white-space:nowrap;font-size:10px;letter-spacing:.2px;color:white;background:#03557872;padding:3px 6px;line-height:1}.fish-label.hungry{color:#fff1b3}.fish-label.starving{background:#69440ebf;color:#fff4b7}.coin-entity{z-index:4;cursor:pointer;background:none;border:0;padding:12px;border-radius:50%;pointer-events:auto;touch-action:manipulation;transition:filter .1s}.coin-entity img{width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 0 7px #ffff8580)}.coin-entity:hover{filter:brightness(1.3)}.coin-entity.pearl img{filter:drop-shadow(0 0 14px #fff1e3)}.food-entity{z-index:1}.food-entity img{width:100%;height:100%;object-fit:contain}.clam-entity{z-index:3}.marlin-entity{z-index:2}.portal-entity{z-index:3;filter:drop-shadow(0 0 18px #ba75ff80)}.alien-entity{z-index:5;pointer-events:auto;cursor:crosshair;background:transparent;border:0;touch-action:manipulation}.alien-entity .sprite{position:absolute;inset:0;pointer-events:none}.alien-health{position:absolute;left:15%;right:15%;top:-4px;height:7px;background:#18203c;border:1px solid #f8b0d390;border-radius:5px;pointer-events:none}.alien-health i{display:block;height:100%;background:#ff8da9;border-radius:5px}.alien-health span{position:absolute;left:50%;top:-21px;transform:translateX(-50%);font-size:12px;white-space:nowrap;color:#fff3fc;text-shadow:0 1px 4px #421438}.effect{position:absolute;pointer-events:none;z-index:6}.float-text{font-size:22px;font-weight:700;color:#fff0b2;text-shadow:0 2px 5px #08516e;animation:float-up 1s ease-out forwards;white-space:nowrap;transform:translateX(-50%)}.float-text.grow{font-size:17px;color:#efffc0}.ring{width:45px;height:45px;border:2px solid #d8ffffb0;border-radius:50%;animation:ripple .6s ease-out forwards}@keyframes ripple{from{transform:translate(-50%,-50%) scale(.3);opacity:1}to{transform:translate(-50%,-50%) scale(1.7);opacity:0}}@keyframes float-up{to{translate:0 -65px;opacity:0}}.spark-particle{width:5px;height:5px;border-radius:2px;background:#fff6b8;box-shadow:0 0 8px #fff6b8;animation:spark .9s ease-out forwards}@keyframes spark{to{transform:translate(var(--dx),var(--dy)) rotate(160deg);opacity:0}}
.control-bar{padding:13px 19px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#102d39}.quick-hint{display:flex;align-items:center;gap:8px;color:#a6c2c6;font-size:10px}.quick-hint svg{width:16px;height:16px;color:#7eb9b7}.quick-hint b{font-weight:500;color:#e5dab2;padding-left:4px}.quick-hint i{font-style:normal;padding:0 10px;color:#5c848f}.game-controls{display:flex;align-items:center;gap:8px}.icon-button{background:transparent;border:0;display:grid;place-items:center;width:32px;height:30px;border-radius:6px;color:#afcbce;transition:background .15s}.icon-button:hover{background:#244754;color:#e5fff9}.icon-button svg{width:17px;height:17px}.speed-button{background:#193d49;border:1px solid #6b9b9b45;border-radius:6px;display:flex;align-items:center;gap:7px;padding:6px 9px;color:#bdd8d5;font-size:10px}.speed-button>span:first-child{font-size:14px;color:#d9f8e7;font-weight:700}.speed-button.fast{border-color:#b8eac8aa;background:#2d554e}.speed-button kbd{font-size:7px;border:1px solid #83aaaa42;padding:2px 3px;border-radius:3px;color:#8eafb2;margin-left:3px;font-family:inherit}.control-divider{height:15px;width:1px;background:var(--line);margin:0 5px}.field-notes{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:26px 10px;border-bottom:1px solid #8fc4c312;color:#98b4ba}.notes-label{font-size:10px;color:#cbd9d7;padding-right:20px}.field-notes p{margin:0;font-size:11px}.field-notes p>span{font-family:Georgia,serif;font-style:italic;color:#7eb8ac;margin-right:9px;font-size:14px}.page-footer{display:flex;justify-content:space-between;color:#5e8591;font-size:9px;padding:19px 9px 0}.page-footer>span:last-child{font-size:8px;letter-spacing:1.25px}.page-footer i{color:#77ab9f;margin:0 8px;font-style:normal}
.overlay,.loading-overlay{position:absolute;inset:0;z-index:15;background:#04212bb0;backdrop-filter:blur(7px);display:flex;align-items:center;justify-content:center}.loading-overlay{background:#0e5366;flex-direction:column;color:#d1e9e6;font-size:12px;gap:5px}.loading-overlay p{display:flex;flex-direction:column;text-align:center;gap:10px}#load-progress{font-size:10px;color:#8fc1c2}.loading-pearl{width:34px;height:34px;border:1px solid #9cddc7;border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-card{width:min(380px,80%);border:1px solid #acdccc45;background:linear-gradient(145deg,#153f49f2,#082936f2);box-shadow:0 30px 80px #00253666;border-radius:18px;padding:30px 32px;text-align:center}.modal-kicker{font-size:9px;letter-spacing:3px;font-weight:600;color:#acdfca}.modal-card h2{margin:10px 0 12px;font-size:28px;font-weight:600;letter-spacing:-1px}.modal-card p{font-size:12px;color:#b7d1d2;line-height:1.9;margin:0 0 22px}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:25px;border:1px solid #c4ecd0;border-radius:7px;padding:13px 23px;background:#c0ebcf;color:#133d3c;font-size:12px;font-weight:700;box-shadow:0 3px 0 #0b282626;transition:background .2s,transform .2s}.primary-button:hover{background:#d8f8de;transform:translateY(-1px)}.primary-button svg{width:17px;height:17px}.result-line{border-top:1px solid #a3d6c826;padding:13px 0 19px;display:flex;justify-content:space-between;font-size:11px;color:#92b6bd}.result-line strong{color:#ffe7ad}.lost-fish{display:block;width:85px;height:75px;background-image:url('../Images/Guppy_Dead.png');background-size:100% 100%;margin:15px auto 0;transform:rotate(-14deg);opacity:.75}.modal-card.compact{padding:32px}.compact h2{margin-top:17px}.pause-overlay{z-index:14}.hatchery{position:absolute;inset:0;z-index:12;background:#12465b url('../Images/Background_Hatchery.png') center/cover}.hatchery-wash{position:absolute;inset:0;background:linear-gradient(#06374666,#032c4688)}.hatchery-content{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:3%;text-shadow:0 2px 8px #092e4c66}.hatchery .modal-kicker{color:#edffe2;font-size:10px}.hatchery h2{font-size:clamp(17px,2.6vw,36px);letter-spacing:-1.4px;font-weight:600;margin:12px 0 0;color:#fffbea}.reward-stage{position:relative;width:230px;height:220px;display:grid;place-items:center;margin:8px 0}.reward-halo{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,#eefff299 0,#ffebac30 42%,transparent 70%);animation:halo 3s ease-in-out infinite}.reward-stage .egg-sprite{position:relative;width:190px;height:190px;background-position:100% 50%;animation:egg-shake .32s ease-in-out infinite alternate}.reward-stage>.sprite{position:relative;width:205px;height:195px;filter:drop-shadow(0 0 15px #fff8aa55);animation:reward-in .6s ease-out}.reward-spark{position:absolute;color:#fff3a5;text-shadow:0 0 15px #fcfdcd;animation:halo 2s infinite}.s1{top:24px;left:15px;font-size:25px}.s2{right:6px;top:65px;font-size:40px;animation-delay:.7s}.s3{left:32px;bottom:20px;font-size:15px;animation-delay:1.2s}@keyframes halo{50%{opacity:.6;transform:scale(.92)}}@keyframes egg-shake{to{transform:rotate(6deg)}from{transform:rotate(-6deg)}}@keyframes reward-in{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.hatchery p{font-size:clamp(10px,1.05vw,14px);line-height:1.8;color:#e0f0e8;margin:0 0 22px}.hatchery .primary-button{text-shadow:none}.ending-stats{display:flex;gap:24px;font-size:11px;padding:0 0 20px;color:#def4e4}.ending-stats b{color:#fff0b5;margin-left:6px}
dialog{color:var(--ink);background:linear-gradient(145deg,#163b46,#0b2835);border:1px solid #9dd0c453;border-radius:16px;width:min(720px,calc(100% - 30px));padding:30px;box-shadow:0 30px 90px #0006}dialog::backdrop{background:#001822b3;backdrop-filter:blur(6px)}.guide-head{display:flex;justify-content:space-between;align-items:center}.guide-head .icon-button{font-size:27px}dialog h2{font-size:26px;letter-spacing:-1px;margin:16px 0 10px}.guide-intro{font-size:12px;color:#a6c6c9;margin:0 0 24px}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px}.guide-grid article{border-top:1px solid #a2cebf28;padding-top:17px}.guide-grid article>span{font-size:9px;color:#9edec5;letter-spacing:1px}.guide-grid h3{font-size:15px;margin:8px 0}.guide-grid p{font-size:11px;line-height:1.9;color:#aac8ca;margin:0}.guide-shortcuts{display:flex;flex-wrap:wrap;gap:15px;font-size:10px;margin:23px 0;color:#9ebbbe}.guide-shortcuts kbd{padding:3px 5px;border:1px solid #afd4c844;border-radius:4px;margin-right:4px;font-family:inherit;font-size:9px}.guide-shortcuts>span:last-child{width:100%;font-size:10px;color:#839fab}
.game-section:fullscreen{width:100vw;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;border:0;border-radius:0;background:#061c28}.game-section:fullscreen .tank{width:min(100vw,calc((100vh - 96px)*16/9));flex-shrink:0}.game-section:fullscreen .game-topline,.game-section:fullscreen .control-bar{width:100%;max-width:calc((100vh - 96px)*16/9)}
@media(min-width:1500px){.app-shell{padding-top:38px}.page-header{padding-bottom:32px}}
@media(max-width:1100px){.app-shell{padding:23px 25px 20px}.journey{gap:11px;margin-left:0}.journey-step{font-size:10px}.journey>i{width:15px}.stage-tag>span,.water-depth{display:none}.notes-label{padding-right:0}.field-notes p{font-size:10px}.reward-stage{width:190px;height:175px;margin:0}.reward-stage .egg-sprite{width:155px;height:155px}.reward-stage>.sprite{width:180px;height:170px}}
@media(max-width:760px){.app-shell{padding:18px 14px}.page-header{padding-bottom:20px;gap:10px}.brand-name{font-size:26px}.brand-mark{width:36px;height:40px}.brand-caption{font-size:8px;letter-spacing:2px}.brand{gap:9px}.journey{display:none}.help-button{padding:9px 12px;font-size:10px}.game-topline{padding:10px 12px}.game-topline>span:last-child{font-size:8px}.shop{width:65%;left:0;padding-left:4.65%;padding-right:4.65%;gap:3.9%}.shop-icon{width:34px;height:30px}.shop-label{font-size:9px}.price{font-size:10px}.item-detail{font-size:7px;top:calc(100% + 4px)}.wallet{width:27%;right:1%;top:2%;height:15%}.wallet>strong{font-size:19px;gap:3px}.wallet>span{font-size:7px}.wallet img{width:17px;height:17px}.tank-counters{right:3%;font-size:8px;gap:8px;top:19%}.tank-counters svg{width:11px;height:11px}.tank-counters>span{gap:3px}.egg-goal{right:3%;padding-left:9px;top:32%}.goal-eyebrow{font-size:7px;margin-bottom:4px}.egg-goal strong{font-size:9px}.egg-progress{margin-top:6px;gap:3px}.egg-progress i{width:14px;height:4px}.egg-progress span{font-size:8px}.stage-tag{gap:6px}.stage-tag small{font-size:6px;letter-spacing:1px}.stage-tag strong{font-size:12px}.message{padding:6px 9px;font-size:8px;max-width:75%;left:58%;gap:5px}.message svg{width:12px;height:12px}.control-bar{padding:10px;gap:4px}.quick-hint{font-size:8px;gap:4px}.quick-hint svg{width:12px;height:12px}.quick-hint i{padding:0 4px}.game-controls{gap:2px}.speed-button{gap:4px;padding:5px 7px;font-size:9px}.speed-button kbd{display:none}.speed-button>span:first-child{font-size:12px}.icon-button{width:28px;height:28px}.icon-button svg{width:15px;height:15px}.control-divider{margin:0 3px}.field-notes{padding:20px 4px;gap:12px;flex-wrap:wrap}.notes-label{width:100%;font-size:9px}.field-notes p{font-size:8px}.field-notes p>span{font-size:12px;margin-right:4px}.page-footer{font-size:8px;padding:16px 3px 0}.page-footer>span:last-child{font-size:6px;letter-spacing:.8px}.page-footer i{margin:0 3px}.threat-banner{top:26%;padding:7px 12px;font-size:10px;white-space:nowrap}.threat-banner>span:last-child{font-size:8px}.modal-card{padding:18px 24px;border-radius:12px;width:300px}.modal-card h2{font-size:23px;margin:8px 0}.modal-card p{font-size:10px;margin-bottom:15px;line-height:1.6}.modal-kicker{font-size:7px;letter-spacing:2px}.lost-fish{width:50px;height:42px;margin:7px auto 0}.result-line{padding:8px 0 12px;font-size:10px}.primary-button{padding:10px 17px;font-size:10px}.hatchery h2{margin-top:5px;letter-spacing:-.8px}.hatchery .modal-kicker{font-size:7px}.reward-stage{width:140px;height:125px}.reward-stage .egg-sprite{width:110px;height:110px}.reward-stage>.sprite{width:132px;height:124px}.s1{font-size:15px;top:10px}.s2{font-size:24px;top:30px}.s3{bottom:10px;left:12px}.hatchery p{font-size:9px;margin-bottom:11px;line-height:1.5}.ending-stats{font-size:8px;padding-bottom:10px;gap:12px}.game-section{border-radius:10px}}
@media(max-width:480px){.app-shell{padding:15px 8px}.game-topline>span:last-child{display:none}.quick-hint{font-size:8px;max-width:45%;line-height:1.7}.quick-hint>svg{display:none}.control-bar{padding:8px}.control-divider{display:none}.shop{top:1%;height:24%;background-size:100% 145%;padding-top:.8%;padding-bottom:1%;gap:3%}.shop-label{font-size:7px}.shop-icon{width:24px;height:21px}.price{font-size:8px}.item-detail{font-size:5.5px}.food-icon i{font-size:11px}.wallet>strong{font-size:14px}.wallet img{width:12px;height:12px}.wallet>span{font-size:6px}.tank-counters{font-size:6px;gap:5px}.tank-counters svg{width:9px;height:9px}.egg-goal{top:34%}.goal-eyebrow{display:none}.egg-goal strong{font-size:7px}.egg-progress{margin-top:3px}.egg-progress i{width:10px}.egg-progress span{font-size:6px}.stage-tag small{display:none}.stage-tag strong{font-size:10px}.message{font-size:7px;padding:4px 7px;max-width:80%;line-height:1.3;left:57%}.message svg{display:none}.tank-bottom{height:13%}.field-notes{gap:8px}.field-notes p{font-size:7px}.page-footer>span:first-child{font-size:7px}.page-footer>span:last-child{font-size:5px;letter-spacing:.4px}.threat-banner{padding:5px 7px;font-size:8px;gap:5px;top:28%}.threat-banner>span:last-child{display:none}.modal-card{padding:12px 20px;width:260px;border-radius:9px}.lost-fish{display:none}.modal-card h2{font-size:20px;margin:6px 0}.modal-card p{font-size:9px;line-height:1.5;margin-bottom:7px}.modal-card .modal-kicker{font-size:6px}.result-line{padding:6px 0 8px;font-size:8px}.primary-button{padding:7px 13px;font-size:9px}.primary-button svg{width:13px;height:13px}.modal-card.compact{padding:20px}.hatchery-content{padding:2%}.hatchery h2{font-size:15px;margin-top:3px}.hatchery .modal-kicker{font-size:6px;letter-spacing:1.5px}.reward-stage{width:100px;height:83px}.reward-stage .egg-sprite{width:80px;height:80px}.reward-stage>.sprite{width:93px;height:88px}.reward-spark{font-size:15px}.s1{top:6px;left:2px}.s2{top:20px;right:0}.s3{bottom:3px;left:7px;font-size:9px}.hatchery p{font-size:7px;margin:2px 0 7px}.ending-stats{font-size:7px;gap:8px;padding-bottom:6px}dialog{padding:22px}.guide-grid{gap:17px;grid-template-columns:1fr}.guide-grid p{font-size:11px}.guide-intro{font-size:11px}dialog h2{font-size:22px}.guide-shortcuts{font-size:9px}}
/* Keep the aquarium and its controls visible on short laptop displays. */
@media(max-height:900px) and (min-width:761px){.app-shell{max-width:min(1440px,calc((100svh - 195px)*16/9 + 48px));padding:16px 24px 12px}.page-header{padding-bottom:17px}.journey-step>span{display:none}.journey{gap:12px}.journey>i{width:22px}.game-topline{padding:10px 16px}.control-bar{padding:10px 14px}.field-notes{padding:20px 5px}.stage-tag>span,.water-depth{display:none}.shop-icon{width:clamp(25px,3.5vw,48px);height:clamp(24px,3.3vw,45px)}.shop-label{font-size:11px}.price{font-size:12px}.item-detail{font-size:8px}.tank-counters{font-size:10px;gap:11px}.message{font-size:10px;padding:7px 12px}.wallet>strong{font-size:25px}.wallet>span{font-size:8px}.wallet img{width:22px;height:22px}.egg-goal strong{font-size:11px}.reward-stage{width:190px;height:175px}.reward-stage .egg-sprite{width:150px;height:150px}.reward-stage>.sprite{width:180px;height:170px}.hatchery h2{font-size:26px}.hatchery p{font-size:11px;margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){.bubble,.water-light,.reward-halo,.reward-spark{animation:none}.float-text{animation-duration:.4s}.reward-stage .egg-sprite{animation-duration:1s}}
.mobile-tip{display:none}
@media(max-width:480px){.mobile-tip{display:block;font-size:10px;color:#88b4bb;text-align:center;margin:17px 0 0}.shop-label{font-size:9px}.price{font-size:9px}.shop-icon{width:22px;height:18px}.item-detail{font-size:6px}.fish-label{font-size:calc(7px / var(--world-scale));top:calc(-14px / var(--world-scale));padding:calc(2px / var(--world-scale)) calc(4px / var(--world-scale));border-radius:calc(5px / var(--world-scale))}.message{font-size:8px}.egg-goal strong{font-size:8px}}
body{min-height:100svh}
@media(max-width:480px){.brand-name{font-size:24px;white-space:nowrap}.brand-mark{width:31px;height:35px}.brand-mark svg{width:23px;height:23px}.brand{gap:8px}.brand-caption{font-size:7px;letter-spacing:1.7px}.help-button{font-size:9px;padding:8px 10px;gap:6px;white-space:nowrap}.help-button svg{width:14px;height:14px}}
@media(max-width:360px){.brand-name{font-size:22px}.shop-label{font-size:8px;line-height:1.1}.shop-icon{width:20px;height:14px}.price{line-height:1.15}.item-detail{font-size:5.5px}.field-notes p{font-size:6.5px}.field-notes{column-gap:5px}.field-notes p>span{margin-right:3px}}
/* Keep each item's artwork, label and price centered in the supplied frame. */
.shop-item[data-buy="guppy"]{translate:7% 0}
.shop-item[data-buy="egg"]{translate:-9% 0}
.arrival-layer{z-index:8;pointer-events:none}
.speed-button{touch-action:none;user-select:none}
.splash-ring{width:95px;height:24px;border:3px solid #d8ffff;border-radius:50%;box-shadow:0 0 10px #b6ffff8c;animation:splash-spread .65s ease-out forwards}
.water-drop{width:7px;height:11px;border-radius:50%;background:#d5ffff;box-shadow:0 0 6px #a9ffff;animation:water-drop .65s ease-out forwards}
@keyframes splash-spread{from{transform:translate(-50%,-50%) scale(.3);opacity:1}to{transform:translate(-50%,-50%) scale(1.8);opacity:0}}
@keyframes water-drop{0%{transform:translate(-50%,-50%);opacity:1}55%{transform:translate(var(--dx),var(--dy));opacity:1}100%{transform:translate(var(--dx),20px);opacity:0}}
