@font-face{font-family:Grove;src:local('Georgia')}*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:#f6f4ea;color:#244b43;font-family:Arial,Helvetica,sans-serif;-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #df9e43;outline-offset:4px}button{color:inherit}svg{display:block}a{color:inherit;text-decoration:none}.app{max-width:1440px;padding:0 48px 20px;margin:auto}.masthead{height:102px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #254d411b}.brand{display:flex;gap:12px;align-items:center;font-family:Georgia,serif;font-size:29px;line-height:1;letter-spacing:-1px;font-weight:bold}.brand em{font-weight:normal}.brand small{display:block;font:7px/1.8 Arial,sans-serif;letter-spacing:1.6px;padding-top:8px;color:#7d8a73}.brand-mark{width:40px;color:#d58a48;transform:rotate(-10deg)}.brand-mark svg{width:100%}.header-right{display:flex;align-items:center;gap:24px}.prototype{font-size:9px;letter-spacing:1.6px;display:flex;gap:9px;align-items:center;color:#7c8974}.prototype i{width:6px;height:6px;border-radius:50%;background:#91ad77}.icon-button{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:transparent;transition:background .2s,transform .2s}.icon-button:hover{background:#2450430c;transform:translateY(-1px)}.icon-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.level-heading{display:flex;justify-content:space-between;align-items:end;margin:27px 0 19px}.eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:600;color:#7d8b74;display:block}h1{font-family:Georgia,serif;font-weight:normal;font-size:32px;letter-spacing:-.7px;line-height:1.15;margin:8px 0 0}h1 span{font-family:Arial,sans-serif;font-size:10px;font-weight:normal;letter-spacing:1px;border:1px solid #c9d2ba;border-radius:50%;width:25px;height:25px;display:inline-flex;justify-content:center;align-items:center;vertical-align:middle;margin-left:8px;color:#7e8d76}.level-heading>p{font-family:Georgia,serif;font-size:16px;font-style:italic;color:#8a947d;margin:0 2px 4px}.aquarium{border:1px solid #d3dccb;border-radius:20px;overflow:hidden;box-shadow:0 15px 40px #244c3a09,0 2px 5px #244c3a04;background:#fffef5}.tank-toolbar{height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;background:#fcfcf2;border-bottom:1px solid #d1dace;gap:12px}.money-group{display:flex;align-items:center;gap:9px;position:relative;min-width:165px}.currency-coin{height:29px;width:29px;display:inline-flex;align-items:center;justify-content:center;background:#f0ce7b;border:2px solid #d5a44e;box-shadow:inset 0 0 0 2px #ffe5a1;color:#ad7835;border-radius:50%;font:600 15px Georgia,serif}#money{font-size:23px;letter-spacing:-.5px;font-weight:600;color:#284a3e}.money-unit{font-size:10px;color:#8a957c;padding-top:4px}.tank-progress{display:flex;align-items:center;gap:13px;font-size:11px;color:#75866f}.egg-pips{display:flex;gap:5px}.egg-pips i{width:12px;height:15px;border:1.4px solid #bcbd9c;border-radius:50% 50% 45% 45%;background:#f4eedb;transition:background .5s,border .5s}.egg-pips i.filled{background:#e9b95c;border-color:#bd8f3b;box-shadow:inset 2px 2px 0 #ffe1a4}.tank-actions{display:flex;gap:7px}.cash-change{font-size:12px;font-weight:600;color:#8d9d59;position:absolute;left:48px;top:0;opacity:0;pointer-events:none}.cash-change.animate{animation:cash-rise 1s ease-out}@keyframes cash-rise{15%{opacity:1}100%{opacity:0;transform:translateY(-24px)}}.water{position:relative;height:clamp(380px,50vh,570px);isolation:isolate;background:#1b786f url('assets/aquarium.webp') center center/cover no-repeat;overflow:hidden}#game{display:block;width:100%;height:100%;position:relative;z-index:2;touch-action:none;cursor:crosshair}.water-vignette{position:absolute;inset:0;pointer-events:none;z-index:1;box-shadow:inset 0 0 100px #092f3625;background:linear-gradient(180deg,#023a4020,transparent 35%,transparent 70%,#003d3c0e)}.tank-location{position:absolute;left:24px;top:22px;z-index:3;display:flex;align-items:center;gap:8px;font-size:8px;letter-spacing:1.8px;color:#ddf5dcaa;pointer-events:none}.tank-location span{width:4px;height:4px;border:1px solid #e8f4d2;border-radius:50%}.fish-count{position:absolute;right:24px;top:19px;z-index:3;display:flex;gap:7px;align-items:center;color:#d7eed9b3;font-size:10px;pointer-events:none}.fish-count svg{width:17px;fill:none;stroke:currentColor;stroke-width:1}.coach{position:absolute;z-index:5;bottom:24px;left:24px;right:24px;background:#fffdf0f2;backdrop-filter:blur(15px);border:1px solid #fffff299;border-radius:13px;padding:16px 19px;display:flex;gap:14px;align-items:center;box-shadow:0 8px 26px #052e3120;max-width:720px;margin:auto;transition:opacity .4s,transform .4s}.coach-icon{font-size:26px;color:#ba9854}.coach strong{font-family:Georgia,serif;font-size:20px;font-weight:normal;letter-spacing:-.3px}.coach p{font-size:11px;line-height:1.5;color:#83917b;margin:5px 0 0}.coach button{margin-left:auto;white-space:nowrap;border:0;background:#2c6252;color:#fff8e1;border-radius:8px;padding:12px 15px;font-size:11px;display:flex;gap:14px;align-items:center;transition:background .2s}.coach button:hover{background:#1d4f40}.coach.dismissed{opacity:0;transform:translateY(15px);pointer-events:none}.coach.minimal{left:20px;right:auto;max-width:min(430px,calc(100% - 40px));bottom:20px;padding:12px 15px;gap:10px;pointer-events:none}.coach.minimal strong{font-family:Arial,sans-serif;font-size:11px;font-weight:600}.coach.minimal p{font-size:10px;margin:3px 0 0}.coach.minimal .coach-icon{font-size:19px}.coach.minimal button{display:none}.toast{position:absolute;z-index:6;left:50%;bottom:28px;transform:translate(-50%,10px);padding:12px 19px;background:#173f39eb;backdrop-filter:blur(12px);border:1px solid #bed8af3d;border-radius:24px;color:#fff6dc;font-size:11px;text-align:center;max-width:90%;width:max-content;pointer-events:none;opacity:0;transition:transform .25s,opacity .25s}.toast.show{opacity:1;transform:translate(-50%,0)}.shop{display:flex;gap:24px;padding:20px 24px 18px;align-items:center;background:#fbfbf1}.shop-intro{flex:1;min-width:200px}.shop-intro>.eyebrow{font-size:7px;letter-spacing:1.5px}.shop-intro>strong{display:block;font:normal 19px/1.35 Georgia,serif;letter-spacing:-.25px;margin:9px 0 13px}.feed-meter{display:flex;gap:6px;align-items:center;white-space:nowrap;font-size:8px;color:#89967e}.feed-icon{font-size:9px;color:#cfa76e}.divider{height:9px;width:1px;background:#d9decf;margin:0 3px}.shop-items{display:grid;grid-template-columns:repeat(4,118px);gap:9px}.shop-item{position:relative;border:1px solid #d9e0ce;background:#f4f6e9;border-radius:12px;min-width:0;height:132px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:5px 5px 9px;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s}.shop-item:hover:enabled{transform:translateY(-4px);background:#edf2de;border-color:#b1c3a6;box-shadow:0 6px 14px #254a3110}.shop-item:active:enabled{transform:translateY(-1px) scale(.97)}.item-art{height:58px;width:70px;display:flex;align-items:center;justify-content:center;position:relative}.item-art svg{width:70px;height:58px}.fish-art img{width:82px;height:65px;object-fit:contain;transform:rotate(-8deg);filter:drop-shadow(0 4px 3px #50674815)}.item-label{font-size:11px;font-weight:600;margin:3px 0 5px}.item-price{font-size:13px;font-weight:600;color:#4b6b4f;display:flex;gap:4px;align-items:center}.item-price i{font:600 9px Georgia,serif;font-style:normal;border:1px solid #c7b279;border-radius:50%;height:13px;width:13px;line-height:11px;background:#ecd8a2;color:#aa8b4b}.item-hint{font-size:7px;color:#8a957c;margin-top:6px}.egg-item{background:#f6edcf;border-color:#ddc88e}.egg-item:hover:enabled{background:#f3e5b8;border-color:#c9a34e}.shop-item.unaffordable{background:#f6f6ed}.shop-item.unaffordable .item-price{color:#9ca694}.shop-item.unaffordable .item-art{opacity:.65}.shop-item.unaffordable .item-label{color:#7f8e79}.shop-item.maxed{opacity:.6}.game-footer{display:flex;align-items:center;justify-content:space-between;padding:15px 2px;color:#94a08a;font-size:9px}.game-footer p{display:flex;align-items:center;gap:8px;margin:0}.hint-mouse{width:9px;height:13px;border:1px solid #a3af97;border-radius:5px;position:relative}.hint-mouse:before{content:'';position:absolute;height:4px;left:3px;top:1px;border-left:1px solid #a3af97}.game-footer button{border:0;background:none;color:#8b9a7e;font-size:9px;display:flex;gap:8px}.game-footer button:hover{color:#315e45}.pause-shade{position:absolute;inset:0;z-index:8;background:#0c514856;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center}.pause-card{text-align:center;background:#faf8eb;padding:35px 42px;border:1px solid #ffffff80;border-radius:18px;box-shadow:0 20px 80px #133d3a40}.pause-card h2,.modal h2{font:normal 35px/1.1 Georgia,serif;letter-spacing:-.8px;margin:13px 0}.pause-card p,.modal>p{font-size:12px;line-height:1.8;color:#819074}.primary-button{padding:15px 22px;border:0;border-radius:9px;color:#fff9e6;background:#2b6251;display:flex;justify-content:center;gap:24px;align-items:center;width:100%;font-size:12px;transition:background .2s,transform .2s}.primary-button:hover{background:#1b4a3c;transform:translateY(-1px)}.pause-card .primary-button{margin-top:24px}.hidden{display:none!important}.modal{border:1px solid #d8ddca;max-width:470px;width:calc(100% - 36px);padding:37px;background:#fcfaed;color:#284c40;border-radius:20px;box-shadow:0 20px 90px #193d3450}.modal::backdrop{background:#103c386b;backdrop-filter:blur(8px)}.modal-close{position:absolute;right:13px;top:12px;font-size:25px;color:#839074}.modal .eyebrow{font-size:8px}.how-row{display:flex;gap:15px;margin:23px 0}.how-row b{font-size:10px;color:#adba9e;padding-top:4px;font-weight:normal}.how-row h3{font:normal 18px Georgia,serif;margin:0 0 7px}.how-row p{font-size:11px;line-height:1.7;margin:0;color:#7d8d75}.modal .help-note{background:#edf1e2;border-radius:8px;padding:13px;font-size:10px;line-height:1.6}.modal .keyboard-note{font-size:9px;color:#a0aa94;margin:17px 0}.modal.win-modal{text-align:center;padding-top:30px}.win-modal h2{font-size:37px}.win-modal h2 em{color:#c68648}.pet-portrait{height:160px;position:relative;margin:13px auto 0;background:radial-gradient(ellipse,#e7ecd2 0%,transparent 68%)}.pet-portrait canvas{width:240px;height:162px}.pet-spark{position:absolute;color:#c3a35d}.s1{left:22%;top:25px;font-size:24px}.s2{right:20%;bottom:25px;font-size:30px}.win-stats{display:flex;margin:24px 0;border-top:1px solid #dce0cf;border-bottom:1px solid #dce0cf;padding:18px 0}.win-stats>div{flex:1;border-right:1px solid #dce0cf}.win-stats>div:last-child{border:0}.win-stats strong{font:normal 22px Georgia,serif;display:block}.win-stats span{display:block;font-size:8px;color:#8e9a82;margin-top:7px}.text-button{background:none;border:0;font-size:10px;color:#829078;padding:16px 10px 0}.small-modal .primary-button{margin-top:22px}.small-modal .text-button{display:block;margin:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1500px){.app{padding-top:12px}.water{height:560px}.shop{padding-top:24px;padding-bottom:24px}.shop-items{grid-template-columns:repeat(4,142px)}.shop-item{height:145px}.item-art{height:68px}.item-label{font-size:12px}.item-hint{font-size:8px}}@media(max-width:1050px){.app{padding:0 28px 12px}.shop{gap:10px;padding:16px}.shop-intro{min-width:160px}.shop-intro>strong{font-size:17px}.shop-items{grid-template-columns:repeat(4,103px)}.feed-meter{font-size:7px;gap:4px}}@media(max-width:760px){.app{padding:0 16px 10px}.masthead{height:79px}.brand{font-size:25px;gap:9px}.brand small{font-size:5.5px;letter-spacing:1.15px;padding-top:6px}.brand-mark{width:32px}.prototype{display:none}.header-right{gap:10px}.level-heading{margin:22px 2px 15px}.level-heading>p{display:none}h1{font-size:27px}.eyebrow{font-size:7px;letter-spacing:1.5px}.aquarium{border-radius:15px}.tank-toolbar{height:57px;padding:0 15px;gap:5px}.money-group{min-width:100px;gap:6px}#money{font-size:20px}.currency-coin{height:25px;width:25px;font-size:13px}.money-unit{display:none}.tank-progress{gap:9px;font-size:8px}.tank-progress>span{display:none}.tank-actions{gap:2px}.icon-button{height:31px;width:31px}.icon-button svg{width:17px;height:17px}.water{height:clamp(340px,49svh,540px);background-position:50% center}.tank-location{left:17px;top:17px;font-size:6.5px;letter-spacing:1.3px}.fish-count{right:16px;top:14px;font-size:8px;gap:4px}.fish-count svg{width:15px}.coach{bottom:17px;left:14px;right:14px;padding:16px;gap:10px;flex-wrap:wrap}.coach .coach-icon{font-size:23px}.coach>div{flex:1}.coach strong{font-size:19px}.coach p{font-size:10px;line-height:1.6;max-width:245px}.coach button{margin:5px 0 0 31px;padding:11px 15px;font-size:10px}.coach.minimal{flex-wrap:nowrap;bottom:18px;left:15px;right:15px;max-width:none}.coach.minimal strong{font-size:10px}.coach.minimal p{font-size:9px}.shop{display:block;padding:10px 11px 13px}.shop-intro{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}.shop-intro>.eyebrow{display:none}.shop-intro>strong{font-family:Arial,sans-serif;font-size:8px;line-height:1.3;margin:0;font-weight:normal;color:#84937a}.shop-intro>strong br{display:none}.feed-meter{font-size:6.5px;gap:4px}.feed-meter .divider,.feed-meter #food-quality{display:none}.shop-items{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.shop-item{height:111px;border-radius:10px;padding:2px 2px 7px}.item-art{height:48px;width:57px}.item-art svg{width:57px;height:48px}.fish-art img{width:70px;height:52px}.item-label{font-size:9px;margin:4px 0 5px}.item-price{font-size:11px;gap:3px}.item-price i{font-size:7px;width:11px;height:11px;line-height:9px}.item-hint{font-size:6px;margin-top:5px}.game-footer{padding:13px 1px;font-size:7px;gap:10px}.game-footer button{font-size:7px;white-space:nowrap}.hint-mouse{display:none}.toast{font-size:10px;max-width:90%;padding:11px 16px;bottom:19px}.pause-card{padding:28px}.pause-card h2{font-size:31px}}@media(max-width:380px){.app{padding:0 10px 5px}.shop-intro>strong{font-size:7px}.item-label{font-size:8px}.item-hint{font-size:5.5px}.modal{padding:27px}.tank-toolbar{padding:0 11px}.tank-actions{gap:0}}@media(max-height:600px) and (orientation:landscape){.app{padding:0 20px}.masthead{height:48px}.brand{font-size:20px}.brand small{display:none}.brand-mark{width:24px}.level-heading{margin:12px 0}h1{font-size:23px;margin-top:3px}.level-heading .eyebrow{display:none}.tank-toolbar{height:46px}.water{height:300px}.shop-intro{display:none}.shop{padding:9px}.shop-items{grid-template-columns:repeat(4,1fr)}.shop-item{height:73px;display:grid;grid-template-columns:58px 1fr;grid-template-rows:1fr 1fr;padding:5px 12px}.item-art{grid-row:1/3}.item-label{align-self:end;text-align:left}.item-price{align-self:start;justify-self:start}.item-hint{display:none}.game-footer{padding:9px 0}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

@media(min-width:761px) and (max-height:850px){.masthead{height:76px}.level-heading{margin:18px 0 15px}h1{font-size:28px}.tank-toolbar{height:56px}.water{height:clamp(300px,46vh,440px)}.shop{padding:13px 20px}.shop-item{height:118px}.item-art{height:48px}.item-art svg{height:48px}.fish-art img{height:54px}.shop-intro>strong{font-size:17px}.game-footer{padding:12px 2px}}
.aquarium:fullscreen{display:flex;flex-direction:column;background:#f7f7eb;border:0;border-radius:0}.aquarium:fullscreen .water{height:auto;flex:1}.aquarium:fullscreen .shop{flex-shrink:0}.aquarium:fullscreen .tank-toolbar{flex-shrink:0}
h1 .level-title{font:inherit;letter-spacing:inherit;width:auto;height:auto;border:0;border-radius:0;display:inline;margin:0;color:inherit}.level-heading-right{text-align:right}.level-heading-right>p{font:italic 15px Georgia,serif;color:#8a947d;margin:0 2px 9px}.level-menu{border:0;background:none;padding:2px;color:#658167;font-size:9px;letter-spacing:.3px}.level-menu span{margin-left:9px}.level-menu:hover{color:#244c3f}.tank-location #tank-name{border:0;width:auto;height:auto;border-radius:0}.combat-banner{position:absolute;z-index:5;left:50%;top:17px;transform:translateX(-50%);display:flex;gap:11px;align-items:center;padding:12px 17px;border:1px solid #f6d58d50;border-radius:12px;background:#3b3943ed;backdrop-filter:blur(12px);color:#fff1d4;min-width:300px;box-shadow:0 8px 35px #1b23422b;pointer-events:none}.combat-sigil{font-size:25px;color:#edbb73}.combat-banner strong{display:block;font:normal 17px Georgia,serif;letter-spacing:-.2px}.combat-banner #combat-copy{display:block;margin-top:4px;font-size:9px;color:#ebd5bb}.combat-banner>b{font:normal 26px Georgia,serif;margin-left:auto;padding-left:10px;color:#edc989}.enemy-meter{display:flex;align-items:center;gap:8px;margin-top:9px}.enemy-meter>div{height:5px;background:#ffffff25;flex:1;border-radius:4px;overflow:hidden}.enemy-meter i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#80baae,#b6e4b9);transition:width .12s ease-out}.enemy-meter>span{font-size:8px;color:#d4dac6}.water.invasion .water-vignette{background:radial-gradient(ellipse,transparent 55%,#723e6555);box-shadow:inset 0 0 80px #5f3c5d55}.water.invasion #game{cursor:crosshair}.water.invasion .tank-location,.water.invasion .fish-count{opacity:.4}.levels-modal{max-width:570px}.levels-modal>p{margin-bottom:22px}.level-card{width:100%;display:flex;align-items:center;gap:15px;text-align:left;padding:14px;border:1px solid #d9e1ca;border-radius:13px;background:#f1f4e5;margin-top:12px;transition:border-color .2s,transform .2s}.level-card:hover:enabled{transform:translateY(-2px);border-color:#8daa86}.level-card-art{height:70px;width:86px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#e1e9cd;border-radius:10px;overflow:hidden}.level-card-art img{width:98%;height:90%;object-fit:contain}.level-card-copy{flex:1}.level-card-copy small{font-size:7px;letter-spacing:1.1px;color:#8b987f;display:block;margin-bottom:6px}.level-card-copy strong{display:block;font:normal 21px Georgia,serif;letter-spacing:-.4px}.level-card-copy>span{font-size:9px;color:#829277;display:block;margin-top:6px;line-height:1.4}.level-card>b{font-size:9px;font-weight:normal;color:#678265;white-space:nowrap}.tidewatch-card{background:#efeff0;border-color:#dcdce1}.tidewatch-card .level-card-art{background:#dbdfe6}.level-card:disabled{opacity:.55}.levels-modal .level-progress-note{font-size:9px;text-align:center;margin:21px 0 0}.win-modal #linger{display:block;margin:0 auto}.win-modal #replay{font-size:9px;padding-top:12px;color:#9ba18d}.shop-item:disabled{cursor:default}.shop.combat-locked .shop-item{opacity:.5}.shop.combat-locked .shop-intro>strong{color:#85778a}
@media(max-width:760px){.level-heading-right>p{display:none}.level-menu{font-size:8px}.level-menu span{margin-left:5px}.level-heading{align-items:end}.combat-banner{min-width:0;width:calc(100% - 28px);top:38px;padding:11px 13px}.combat-banner strong{font-size:16px}.combat-banner #combat-copy{font-size:8px}.combat-sigil{font-size:22px}.level-card{padding:11px;gap:10px}.level-card-art{width:58px;height:60px}.level-card-copy strong{font-size:18px}.level-card-copy>span{font-size:8px}.level-card>b{font-size:8px}.levels-modal{padding:29px 21px}.level-card-copy small{font-size:6px}.level-menu{max-width:98px;line-height:1.5}}
.levels-modal{max-height:calc(100svh - 36px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.campaign-roadmap{margin-top:23px;padding-top:19px;border-top:1px solid #dce1ce}.campaign-roadmap>summary{cursor:pointer;font:normal 19px Georgia,serif;min-height:44px;line-height:1.4}.campaign-roadmap>summary>span{display:block;font:10px/1.6 Arial,sans-serif;color:#7e8e74;margin:5px 0 0 16px}.campaign-note{font-size:11px;line-height:1.6;color:#7c8b72;margin:7px 0 18px}.campaign-chapter{border:1px solid #dbe1ce;border-radius:11px;margin-top:10px;background:#f3f4e8}.campaign-chapter>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 13px;cursor:pointer;list-style:none}.campaign-chapter>summary::-webkit-details-marker{display:none}.campaign-chapter summary small{display:block;font-size:8px;letter-spacing:.7px;color:#829077;margin-bottom:5px}.campaign-chapter summary strong{display:block;font:normal 18px/1.3 Georgia,serif}.campaign-chapter .chapter-count{font-size:9px;color:#7c8c72;white-space:nowrap}.campaign-chapter .chapter-count:after{content:' +';margin-left:4px}.campaign-chapter[open] .chapter-count:after{content:' −'}.campaign-chapter>p{font-size:11px;line-height:1.6;color:#7c8b72;margin:0 13px 14px}.campaign-chapter ol{padding:0 15px 0 35px;margin:0}.campaign-chapter li{font-size:11px;padding:12px 0;border-top:1px solid #dce1d0;color:#899579}.campaign-chapter li>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 12px}.campaign-chapter li strong{font-weight:600;color:#355749;font-size:12px}.campaign-chapter li span{font-size:9px;color:#869176}.campaign-chapter li p{font-size:11px;line-height:1.6;margin:6px 0 0;color:#78896d}.campaign-roadmap summary:focus-visible{outline:3px solid #df9e43;outline-offset:3px;border-radius:5px}
.shop.expanded .shop-intro{flex:0 1 180px;min-width:150px}.shop.expanded .shop-items{flex:1;grid-template-columns:repeat(6,minmax(92px,1fr))}.predator-art img{width:89px;height:63px;object-fit:contain;filter:drop-shadow(0 4px 3px #50674815)}.weapon-art .power-pip{fill:#d4dfcb;stroke:#a5b699;stroke-width:1}.weapon-art[data-power="1"] .p1,.weapon-art[data-power="2"] .p1,.weapon-art[data-power="2"] .p2,.weapon-art[data-power="3"] .power-pip{fill:#e9bb60;stroke:#bd9147}.velvetfin-card{background:#edf2e9;border-color:#d3dfd2}.velvetfin-card .level-card-art{background:#d7e5dc}.modal{max-height:calc(100svh - 36px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
@media(max-width:1050px){.shop.expanded{display:block}.shop.expanded .shop-intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.shop.expanded .shop-intro>.eyebrow{display:none}.shop.expanded .shop-intro>strong{font:normal 11px/1.5 Arial,sans-serif;margin:0}.shop.expanded .shop-intro>strong br{display:none}.shop.expanded .shop-items{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:760px){.shop.expanded .shop-intro{margin-bottom:9px}.shop.expanded .shop-intro>strong{font-size:8px;max-width:190px}.shop.expanded .shop-items{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.shop.expanded .shop-item{height:119px}.shop.expanded .item-label{font-size:10px}.shop.expanded .item-hint{font-size:7px}.predator-art img{width:79px;height:52px}}
@media(max-height:600px) and (orientation:landscape){.shop.expanded .shop-intro{display:none}.shop.expanded .shop-items{grid-template-columns:repeat(3,minmax(0,1fr))}.shop.expanded .shop-item{height:73px}.shop.expanded .item-hint{display:none}.shop.expanded .item-label{font-size:9px}}
.crew-modal{max-width:620px}.crew-modal h2{font-size:32px;line-height:1.15;margin:12px 0}.crew-modal>p:not(.crew-count):not(.crew-note){font-size:11px;line-height:1.7;color:#7c8d75}.crew-count{margin:21px 0 12px;font-size:10px;color:#6e8566}.crew-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.crew-card{position:relative;display:flex;flex-direction:column;align-items:center;border:1px solid #d9e1ce;border-radius:12px;background:#f4f5e8;padding:9px 5px 14px;min-height:145px;transition:border-color .2s,background .2s,transform .2s}.crew-card:hover:enabled{transform:translateY(-3px);border-color:#9eb797}.crew-card.selected{background:#e8efdc;border-color:#82a17a;box-shadow:inset 0 0 0 1px #82a17a35}.crew-card:disabled{cursor:default}.crew-card-art{height:77px;width:100%;display:flex;align-items:center;justify-content:center}.crew-card-art img{max-width:95%;max-height:100%;object-fit:contain;filter:drop-shadow(0 4px 4px #385b3d10)}.crew-card strong{font:normal 20px Georgia,serif;margin:5px 0}.crew-role{font-size:8px;color:#7c8b73}.crew-check{position:absolute;right:8px;top:8px;width:18px;height:18px;border:1px solid #c2d1b8;border-radius:50%;font-size:10px;line-height:16px;color:transparent;background:#fbfbf0}.selected .crew-check{background:#557d5b;border-color:#557d5b;color:#f9f6df}.crew-note{font-size:10px;line-height:1.65;color:#8a957d;min-height:33px;margin:16px 0}.crew-modal .primary-button{width:100%}.crew-modal>.text-button{display:block;margin:auto}.companion-summary{font-size:10px!important;line-height:1.7!important;color:#71866b!important;background:#eef2e2;border:1px solid #dce4cf;border-radius:9px;padding:12px!important;margin:18px 0 0!important}.reward-crew-note{font-size:10px!important;line-height:1.6!important;color:#78906e!important;margin:10px 0!important}.reward-crew-note:empty{display:none}.enemy-meter #enemy-count{white-space:nowrap;color:#d4dac6;font-size:8px}.grimjaw-card{background:#eeeef1;border-color:#d6d6df}.grimjaw-card .level-card-art{background:#d9dce7}.nori-card .level-card-art{background:#dce8d2}
@media(max-width:760px){.crew-modal{padding:27px 21px}.crew-modal h2{font-size:28px}.crew-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.crew-card{min-height:135px;padding-bottom:12px}.crew-card-art{height:68px}.crew-card strong{font-size:19px}.crew-role{font-size:8px}.crew-count{font-size:9px}.crew-note{font-size:9px}.enemy-meter{gap:6px}.combat-banner strong{line-height:1.25}}
.water.starlight{background-image:url('assets/starlight-lagoon.webp');background-color:#887f9d}.starlight-card{background:#f2edf0;border-color:#e0d5df}.starlight-card .level-card-art{background:#e7dbe9}.grazer-art img{width:91px;height:58px;object-fit:contain}.tonic-targeting-note{position:absolute;z-index:5;bottom:17px;left:50%;transform:translateX(-50%);width:min(350px,calc(100% - 28px));padding:10px 10px 10px 17px;display:flex;gap:9px;align-items:center;background:#fff8e8f2;border:1px solid #f7dfac;border-radius:12px;box-shadow:0 6px 25px #52405a22;color:#5c5864}.tonic-targeting-note>div{flex:1;min-width:0}.tonic-targeting-note strong{display:block;font:normal 17px Georgia,serif}.tonic-targeting-note span{display:block;margin-top:5px;font-size:9px;color:#8b7d87}.tonic-targeting-note button{width:44px;height:44px;border:0;border-radius:50%;background:#eee4e5;color:#8a7986;font-size:24px;flex-shrink:0}.water.tonic-targeting .toast{bottom:99px}.water.tonic-targeting #game{cursor:crosshair}#buy-tonic[aria-pressed="true"]{background:#ede2ed;border-color:#b79db6;box-shadow:inset 0 0 0 1px #b79db633}#buy-tonic .item-label{font-size:10px}.shop.has-grazer .shop-items{grid-template-columns:repeat(4,minmax(0,1fr))}.shop.has-grazer .egg-item{grid-column:span 2;display:grid;grid-template-columns:76px 1fr 1fr;grid-template-rows:1fr 1fr;align-items:center;padding:10px 16px}.shop.has-grazer .egg-item .item-art{grid-row:1/3}.shop.has-grazer .egg-item .item-label{align-self:end;text-align:left;font-size:12px}.shop.has-grazer .egg-item .item-price{grid-column:3;grid-row:1/3;justify-self:center}.shop.has-grazer .egg-item .item-hint{grid-column:2;grid-row:2;align-self:start;text-align:left;margin-top:5px}
@media(max-width:760px){.shop.has-grazer .shop-items{grid-template-columns:repeat(3,minmax(0,1fr))}.shop.has-grazer .egg-item{grid-column:1/-1;grid-template-columns:60px 1fr 1fr;height:83px;padding:8px 15px}.shop.has-grazer .egg-item .item-label{font-size:11px}.shop.has-grazer .egg-item .item-hint{font-size:8px}.grazer-art img{width:79px;height:51px}.tonic-targeting-note strong{font-size:16px}.tonic-targeting-note span{font-size:8px}#buy-tonic .item-label{font-size:9px}}
@media(max-height:600px) and (orientation:landscape){.shop.has-grazer .shop-items{grid-template-columns:repeat(3,minmax(0,1fr))}.shop.has-grazer .egg-item{grid-column:1/-1;height:73px}}
.mawkin-card{background:#f3ece8;border-color:#e2d6ce}.mawkin-card .level-card-art{background:#ead9d2}
.combat-banner .missile-hud{display:block;font-size:9px;line-height:1.3;color:#f4d6ad;margin-top:7px}.bramble-card{background:#edf1eb;border-color:#d5dfce}.bramble-card .level-card-art{background:#dce5d2}.hugo-card{background:#edf0f3;border-color:#d3dde4}.hugo-card .level-card-art{background:#d9e5eb}
@media(max-width:760px){.combat-banner .missile-hud{font-size:8px;margin-top:6px}}

.water.caverns{background-image:url('assets/bubbleglass-caverns.webp');background-color:#718f96}.cavern-card{background:#eaf0ee;border-color:#ccdcda}.cavern-card .level-card-art{background:#d4e5df}.sifter-art img,.skimmer-art img{width:94px;height:60px;object-fit:contain}#buy-sifter .item-label{font-size:10px}
@media(max-width:760px){.sifter-art img,.skimmer-art img{width:79px;height:51px}#buy-sifter .item-label{font-size:9px}}

@media(min-width:761px){.shop.sifter-only .shop-items{grid-template-columns:repeat(5,minmax(92px,1fr))}}

.combat-banner .phase-hud{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:700;letter-spacing:.6px;margin-top:7px;padding:4px 7px;border:1px solid #e0ad99;border-radius:5px;color:#ffd4b9}.combat-banner .phase-hud.blue{border-color:#b3cfed;color:#d0e7ff}.vesper-card{background:#f0e8e8;border-color:#dfcaca}.vesper-card .level-card-art{background:#ead5ce}.prismjaw-card{background:#e9edf3;border-color:#cbd9e4}.prismjaw-card .level-card-art{background:#d4e1ed}

.phase-hud.fast{animation:phase-arrival .75s ease-out}@keyframes phase-arrival{0%,40%{box-shadow:0 0 0 3px #ffc29070}100%{box-shadow:0 0 0 0 #ffc29000}}

.water.nursery{background-image:url('assets/kelp-nursery.webp');background-color:#537e75}.nursery-card{background:#eaf0e5;border-color:#d1dec6}.nursery-card .level-card-art{background:#d9e6cb}.breeder-art img,.apex-art img{width:93px;height:61px;object-fit:contain}@media(max-width:760px){.breeder-art img,.apex-art img{width:78px;height:52px}}

.rehome-action{font-size:9px;line-height:1.4;min-height:32px;padding:4px 0;border:0;background:none;text-align:left;color:#567c64;text-decoration:underline;text-underline-offset:3px}.rehome-action:disabled{opacity:.45}@media(max-width:1050px){.shop.expanded .shop-intro{flex-wrap:wrap;gap:4px}.shop.expanded .rehome-action{flex-basis:100%;font-size:8px;min-height:28px}}

/* The final stand keeps the same illustrated aquarium language, with the
   economy replaced by a clear boss and survivor display. */
.water.reef-heart{background-image:url('assets/reef-heart.webp');background-color:#294c61}
.boss-mode .water{height:clamp(400px,57vh,660px)}
.boss-status{display:flex;align-items:center;gap:15px;flex:1;min-width:0;color:#3f6358}
.boss-status>div:first-child{min-width:120px}.boss-status strong{display:block;font:20px Georgia,serif;margin-top:3px}
.boss-health-track{flex:1;max-width:350px;height:8px;border-radius:10px;overflow:hidden;background:#dce3d2;border:1px solid #bdcdb8}
.boss-health-track i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#b38b83,#dec599);transition:width .12s ease-out}
#boss-survivors{font-size:10px;white-space:nowrap}.boss-brief{display:flex;align-items:center;gap:30px;padding:21px 27px;background:#edf0e4;border-top:1px solid #d9dfca}.boss-brief>div{min-width:180px}.boss-brief strong{display:block;font:22px Georgia,serif;margin-top:7px}.boss-brief p{font-size:11px;line-height:1.7;color:#788c77;max-width:600px;margin:0}
.boss-mode .combat-banner{top:18px;background:#273e52eb;border-color:#c5d8df65}.boss-mode .tank-location{opacity:.55}.boss-mode .fish-count{display:none}
.objective-strip{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;padding:14px 22px;background:#edf1e2;border-top:1px solid #dce1cb}.objective-strip strong{flex:1;font:17px Georgia,serif}.objective-strip>span:last-child{font-size:10px;color:#728b6b}.objective-strip .eyebrow{font-size:7px}
.optional-levels{margin-top:26px;padding-top:24px;border-top:1px solid #d5ddc8}.optional-levels h3{font:27px Georgia,serif;margin:8px 0}.optional-levels>p{font-size:11px;line-height:1.7;color:#839078}.optional-card{background:#f0eee1;border-color:#dedcc8}.optional-card .level-card-art{background:#e4e5ce}.boss-card{background:#e8edf0;border-color:#c8d5de}.boss-card .level-card-art{background:#cbdde0}
.transform-action{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:45px;padding:10px 24px;background:#e8eee2;border:0;border-top:1px solid #d7e0cc;color:#547660;font:16px Georgia,serif;text-align:left}.transform-action>span{font:10px Arial,sans-serif;color:#7c9277}.transform-action:hover{background:#e0ead8}.transform-modal{max-width:650px}.transform-modal>p{font-size:11px;line-height:1.7;color:#7b8e73}.transform-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:20px}.transform-card{min-height:118px;border:1px solid #d5dfc9;border-radius:12px;background:#f2f4e7;color:#3d6250;padding:8px 6px}.transform-card img{width:100%;height:69px;object-fit:contain}.transform-card strong{display:block;font:18px Georgia,serif}.transform-card.selected{border-color:#83a37b;background:#e3ebd7;box-shadow:inset 0 0 0 1px #83a37b55}.transform-card:disabled{opacity:.6}.transform-card:focus-visible{outline:3px solid #d9ad59;outline-offset:2px}
@media(max-width:760px){.boss-mode .water{height:clamp(410px,61svh,640px)}.boss-mode .tank-toolbar{padding:0 13px}.boss-status{gap:9px;flex-wrap:wrap;position:relative;padding-right:3px}.boss-status>div:first-child{min-width:80px}.boss-status strong{font-size:16px}.boss-status .eyebrow{font-size:6px;letter-spacing:1px}.boss-health-track{min-width:65px;height:7px}#boss-survivors{position:absolute;right:4px;bottom:-10px;font-size:7px}.boss-mode .combat-banner{top:38px}.boss-brief{display:block;padding:16px 18px}.boss-brief strong{font-size:20px}.boss-brief p{font-size:10px;margin-top:10px}.objective-strip{padding:12px 15px;gap:7px 10px}.objective-strip strong{font-size:15px;flex-basis:75%}.objective-strip>span:last-child{font-size:9px}.transform-action{padding:11px 17px;font-size:15px}.transform-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.transform-card{min-height:112px}.transform-card img{height:64px}}

.boss-mode .combat-banner{top:auto;bottom:12px;padding:9px 14px;max-width:480px}.boss-mode .combat-banner strong{font-size:15px}.boss-mode .combat-banner #combat-copy{font-size:8px}.boss-mode .combat-banner .combat-sigil{font-size:21px}@media(max-width:760px){.boss-mode .combat-banner{top:auto;bottom:11px}.boss-mode .combat-banner strong{font-size:13px}.boss-mode .combat-banner #combat-copy{font-size:7px;line-height:1.5}}

.adventure-credits{border-top:1px solid #d8dfc9;padding-top:18px;margin-top:19px}.adventure-credits p{font:italic 17px/1.5 Georgia,serif;color:#5a775f;margin:9px 0}.adventure-credits small{font-size:8px;letter-spacing:.5px;color:#8c9a7d}
