:root{color:#effcff;font-synthesis:none;-webkit-tap-highlight-color:transparent;background:#062b3d;font-family:Manrope,system-ui,sans-serif}*{box-sizing:border-box}html,body,main{width:100%;height:100%;margin:0;overflow:hidden}main{height:100dvh}body{min-width:320px}button{color:inherit;font:inherit}button:focus-visible{outline-offset:3px;outline:2px solid #75e5e9}[hidden]{display:none!important}.scene,.scene canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.scene{cursor:crosshair;background:#0a4861}.scene canvas.is-context-lost{visibility:hidden}.hud{z-index:3;padding:calc(clamp(1.1rem, 3vw, 2rem) + env(safe-area-inset-top)) calc(clamp(1.1rem, 3vw, 2rem) + env(safe-area-inset-right)) 1rem calc(clamp(1.1rem, 3vw, 2rem) + env(safe-area-inset-left));pointer-events:none;background:linear-gradient(#02162199,#0000);justify-content:space-between;align-items:flex-start;gap:1rem;display:flex;position:absolute;top:0;left:0;right:0}#aquarium:has(.settings-toggle:not([hidden])) .hud{padding-right:calc(clamp(4.85rem, 6vw, 5.75rem) + env(safe-area-inset-right))}.brand{letter-spacing:.14em;font-size:.72rem;font-weight:700}.brand span{color:#effcffb3;letter-spacing:.18em;margin-top:.25rem;font:.58rem DM Mono,monospace;display:block}.run-status{justify-items:end;gap:.6rem;display:grid}.glow-count{text-transform:uppercase;align-items:center;gap:.35rem;font:.72rem DM Mono,monospace;display:flex}.glow-count i{background:#7ff8e4;border-radius:50%;width:.55rem;height:.55rem;box-shadow:0 0 12px #7ff8e4}.glow-count strong{color:#a8fff0;text-align:right;min-width:1.5rem;font-size:.9rem}.coral-status{color:#effcffc7;text-transform:uppercase;grid-template-columns:auto 110px 2rem;align-items:center;gap:.5rem;font:.62rem DM Mono,monospace;display:grid}.algae-status{color:#c8ef9f;text-transform:uppercase;grid-template-columns:auto 110px 2rem;align-items:center;gap:.5rem;font:.62rem DM Mono,monospace;display:none}.algae-status.is-visible{display:grid}.algae-status .progress i{background:#8ccf62;box-shadow:0 0 10px #8ccf62}.reef-needs{color:#effcffb3;text-transform:uppercase;font:.58rem DM Mono,monospace}.release-status{align-items:center;gap:.6rem;display:flex}.release-speed{cursor:pointer;pointer-events:auto;background:#041f2cd1;border:1px solid #a8fff099;border-radius:999px;min-width:72px;min-height:44px;padding:.5rem;font:.65rem DM Mono,monospace}.progress{background:#effcff2e;height:3px;display:block}.progress i{background:#ff8b70;width:0;height:100%;transition:width .4s;display:block;box-shadow:0 0 10px #ff8b70}.hint{bottom:calc(1.25rem + env(safe-area-inset-bottom));left:calc(1.25rem + env(safe-area-inset-left));z-index:2;color:#effcffe6;letter-spacing:.04em;pointer-events:none;text-shadow:0 1px 8px #001822d9;background:#021a26a8;border-radius:.45rem;margin:0;padding:.55rem .7rem;font:.65rem DM Mono,monospace;transition:opacity .3s;position:absolute}.hint.is-hidden{opacity:0}.message{z-index:6;opacity:0;pointer-events:none;white-space:nowrap;background:#041f2cd1;border:1px solid #d2f8fa38;border-radius:999px;margin:0;padding:.6rem .9rem;font-size:.7rem;transition:all .2s;position:absolute;top:5.4rem;left:50%;transform:translate(-50%,-8px)}.message.is-visible{opacity:1;transform:translate(-50%)}#aquarium:has(#release-toggle:not([hidden])) .message{top:calc(13rem + env(safe-area-inset-top))}.menu-toggle{right:calc(1.5rem + env(safe-area-inset-right));bottom:calc(1.5rem + env(safe-area-inset-bottom));z-index:3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#041f2cc2;border:1px solid #e0fafc80;border-radius:999px;align-items:center;gap:.7rem;min-height:44px;padding:.75rem 1rem;font-size:.75rem;font-weight:600;display:flex;position:absolute}.menu-toggle:hover{background:#093544eb}.menu-toggle:disabled{cursor:not-allowed;opacity:.5}.menu-toggle span{color:#effcffb8;font:.62rem DM Mono,monospace}.release-toggle{bottom:calc(5rem + env(safe-area-inset-bottom));border-color:#a8fff0}.drawer-scrim{z-index:4;opacity:0;pointer-events:none;background:#000c144d;transition:opacity .25s;position:absolute;inset:0}.shop-drawer{z-index:5;width:min(390px,100%);padding:calc(clamp(1.5rem, 4vw, 2.5rem) + env(safe-area-inset-top)) calc(clamp(1.5rem, 4vw, 2.5rem) + env(safe-area-inset-right)) calc(clamp(1.5rem, 4vw, 2.5rem) + env(safe-area-inset-bottom)) clamp(1.5rem, 4vw, 2.5rem);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);clip-path:inset(0 0 0 100%);opacity:0;pointer-events:none;visibility:hidden;background:#041b27f5;border-left:1px solid #cdf5f833;transition:clip-path .3s,opacity .2s,visibility .3s;position:absolute;top:0;bottom:0;right:0;overflow:auto}.drawer-open .drawer-scrim{opacity:1;pointer-events:auto}.drawer-open .shop-drawer{clip-path:inset(0);opacity:1;pointer-events:auto;visibility:visible}.drawer-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem;display:flex}.drawer-heading h2{letter-spacing:-.05em;margin:0;font-size:1.7rem;font-weight:500}.drawer-close{cursor:pointer;background:0 0;border:1px solid #cdf5f840;border-radius:50%;width:44px;height:44px;padding:0;font-size:1.4rem}.buy-creature{cursor:pointer;text-align:left;background:#6fe0e61f;border:1px solid #cdf5f866;border-radius:.75rem;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:1rem;display:flex}.buy-creature:hover:not(:disabled),.buy-creature:focus-visible:not(:disabled){background:#6fe0e633;border-color:#75e5e9}.buy-creature:active:not(:disabled){background:#6fe0e642}.buy-creature:disabled{cursor:not-allowed;opacity:.45}.buy-creature strong,.buy-creature small{display:block}.buy-creature strong{font-size:.82rem}.buy-creature small{color:#effcffbd;margin-top:.25rem;font-size:.68rem;line-height:1.35}.buy-creature b{color:#a8fff0;flex:none;font:.66rem DM Mono,monospace}.buy-creature b em{color:#effcffa6;text-align:right;margin-top:.3rem;font-size:.58rem;font-style:normal;display:block}.buy-creature+.buy-creature{margin-top:.65rem}.start-screen,.draft-screen,.end-screen{z-index:9;padding:calc(1.5rem + env(safe-area-inset-top)) calc(1.5rem + env(safe-area-inset-right)) calc(1.5rem + env(safe-area-inset-bottom)) calc(1.5rem + env(safe-area-inset-left));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);text-align:center;background:#02141e57;place-items:center;display:grid;position:absolute;inset:0;overflow:auto}.start-screen{-webkit-backdrop-filter:none;backdrop-filter:none;background:#02141e1f}.start-screen[hidden]{display:none}#aquarium:has(#start-screen:not([hidden])) :is(.hud,.hint,.menu-toggle){visibility:hidden}.start-card{background:#041f2ce6;border:1px solid #75e5e96b;border-radius:1.1rem;width:min(26rem,100%);padding:clamp(1.5rem,5vw,2.5rem);box-shadow:0 1.5rem 5rem #000a106b}.start-kicker{color:#a8fff0;letter-spacing:.22em;margin:0 0 .5rem;font:.65rem DM Mono,monospace}.start-card h2{letter-spacing:-.07em;margin:0;font-size:clamp(2.5rem,7vw,4rem);font-weight:500;line-height:1}.start-status{color:#effcffc2;min-height:1.1rem;margin:1.2rem 0;font:.68rem DM Mono,monospace}.start-status span,.start-actions button{display:none}.start-screen[data-update=checking] [data-start-state=checking],.start-screen[data-update=downloading] [data-start-state=downloading],.start-screen[data-update=current] [data-start-state=current],.start-screen[data-update=waiting] [data-start-state=waiting],.start-screen[data-update=restarting] [data-start-state=restarting],.start-screen[data-update=failed] [data-start-state=failed],.start-screen[data-update=current] #play,.start-screen[data-update=waiting] #start-update,.start-screen[data-update=failed] #retry-update,.start-screen[data-update=failed] #play-current{display:inline-block}.start-actions{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.start-actions button{cursor:pointer;background:#6fe0e62e;border:1px solid #75e5e9ad;border-radius:999px;min-width:9rem;min-height:44px;padding:.7rem 1rem;font-weight:600}.start-actions #play,.start-actions #start-update{color:#052c3a;background:#75e5e9}.update-notice{top:calc(5.5rem + env(safe-area-inset-top));right:calc(1rem + env(safe-area-inset-right));z-index:8;background:#041f2cf0;border:1px solid #75e5e97a;border-radius:999px;align-items:center;gap:.6rem;max-width:calc(100% - 2rem);padding:.45rem .5rem .45rem .8rem;font-size:.7rem;display:flex;position:absolute;box-shadow:0 .8rem 2rem #000a1059}.update-notice button{cursor:pointer;background:#6fe0e624;border:1px solid #75e5e973;border-radius:999px;min-height:44px;padding:.4rem .7rem;font-size:.68rem}.update-notice #notice-dismiss{border-color:#0000;width:44px;padding:0;font-size:1.1rem}.draft-screen,.end-screen{opacity:0;pointer-events:none;visibility:hidden;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#02141ec2;transition:opacity .5s,visibility .5s}.draft-screen.is-visible,.end-screen.is-visible{opacity:1;pointer-events:auto;visibility:visible}.draft-screen>div,.end-screen>div{max-width:48rem}.draft-screen>div{width:100%;max-width:64rem;margin-block:auto}.draft-screen h2,.end-screen h2{letter-spacing:-.07em;margin:0 0 .75rem;font-size:clamp(2.5rem,7vw,5rem);font-weight:500;line-height:.95}.draft-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:1.5rem;display:grid}.draft-options button{cursor:pointer;text-align:left;background:#0f4552d1;border:1px solid #75e5e99e;border-radius:.8rem;flex-direction:column;min-width:0;padding:1.1rem;display:flex}.draft-options button:hover,.draft-options button:focus-visible{background:#1d5b65eb;border-color:#9cffff}.draft-options button:active{background:#286f75f5}.draft-track{color:#a8fff0;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.4rem;font:.62rem DM Mono,monospace}.draft-name{font-size:1.1rem}.draft-effects{gap:.8rem;width:100%;margin-block:1rem;display:grid}.draft-effect{grid-template-columns:1.1rem 1fr;align-items:center;column-gap:.5rem;display:grid}.draft-effect svg{color:#a8fff0;width:1.1rem;height:1.1rem}.effect-label{font-size:.75rem;line-height:1.4}.effect-value{grid-column:2;margin-top:.2rem;font:.95rem DM Mono,monospace}.effect-value b{color:#a8fff0;font-weight:500}.effect-before{color:#b1c9cf}.draft-note{color:#cee0e5;border-top:1px solid #cdf5f833;width:100%;margin-top:auto;padding-top:.8rem;font-size:.75rem;line-height:1.5;display:block}.end-screen #end-summary{color:#effcffc7;font-size:.85rem}.end-screen button{cursor:pointer;background:#75e5e92e;border:1px solid #effcffb3;border-radius:999px;margin-top:1rem;padding:.8rem 1.2rem}.settings-toggle{top:calc(clamp(1.1rem, 3vw, 2rem) + env(safe-area-inset-top));right:calc(clamp(1.1rem, 3vw, 2rem) + env(safe-area-inset-right));z-index:10;color:#effcffd1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#041f2cd1;border:1px solid #a8fff06b;border-radius:50%;place-items:center;width:44px;height:44px;padding:10px;transition:border-color .15s,color .15s,background .15s,opacity .15s,visibility .15s;display:grid;position:absolute;box-shadow:0 .35rem 1.2rem #000f1740}.settings-toggle:hover,.settings-toggle[aria-expanded=true]{color:#a8fff0;background:#093544f0;border-color:#75e5e9}.settings-toggle svg{width:100%;height:100%;display:block}.drawer-open .settings-toggle{opacity:0;pointer-events:none;visibility:hidden}.settings-panel{width:min(20rem, calc(100% - 2rem - env(safe-area-inset-left) - env(safe-area-inset-right)));max-height:calc(100dvh - 2rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));color:#effcff;background:#041b27f7;border:1px solid #cdf5f847;border-radius:.9rem;padding:1rem;overflow:auto;box-shadow:0 1rem 3rem #000a1080}.settings-panel::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000e16a3}.settings-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.settings-heading h2{margin:0;font-size:1rem}.settings-heading button{cursor:pointer;background:0 0;border:0;width:44px;height:44px;padding:0;font-size:1.4rem}.settings-panel>button{cursor:pointer;background:#6fe0e624;border:1px solid #75e5e980;border-radius:.6rem;width:100%;min-height:44px;margin-top:.65rem}.settings-panel>button:disabled{cursor:not-allowed;opacity:.55}.settings-panel p{color:#effcffb8;margin:.75rem 0 0;font-size:.7rem;line-height:1.45}.settings-panel p:empty,#pwa-status [data-pwa-state]{display:none}#pwa-status[data-update=checking] [data-pwa-state=checking],#pwa-status[data-update=downloading] [data-pwa-state=downloading],#pwa-status[data-update=current] [data-pwa-state=current],#pwa-status[data-update=restarting] [data-pwa-state=restarting],#pwa-status[data-update=failed] [data-pwa-state=failed],#pwa-status[data-update=waiting][data-run=preplay] [data-pwa-state=waiting-preplay],#pwa-status[data-update=waiting][data-run=active] [data-pwa-state=waiting-active],#pwa-status[data-update=waiting][data-run=ended] [data-pwa-state=waiting-ended]{display:inline}#pwa-status:has(#pwa-message:not(:empty)) [data-pwa-state]{display:none}.secondary-links{color:#effcff9e;text-align:center;flex-wrap:wrap;justify-content:center;gap:.45rem .8rem;margin-top:.85rem;font-size:.68rem;display:flex}.secondary-links a{color:inherit;text-underline-offset:.18em}.secondary-links a:hover,.secondary-links a:focus-visible{color:#effcffd1}.install-dialog{color:#effcff;background:#082f40;border:1px solid #75e5e973;border-radius:1rem;width:min(28rem,100% - 2rem);padding:1.5rem;box-shadow:0 1.5rem 5rem #000a1080}.install-dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000e16b8}.install-dialog h2{margin:0;font-size:1.45rem}.install-dialog p{color:#effcffc7;font-size:.85rem;line-height:1.5}.install-dialog>div{flex-wrap:wrap;gap:.6rem;display:flex}.install-dialog button{cursor:pointer;background:#6fe0e624;border:1px solid #75e5e980;border-radius:999px;min-height:44px;padding:.65rem .9rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (max-width:600px){.hud{padding:calc(1rem + env(safe-area-inset-top)) calc(1rem + env(safe-area-inset-right)) 1rem calc(1rem + env(safe-area-inset-left))}#aquarium:has(.settings-toggle:not([hidden])) .hud{padding-right:calc(4.75rem + env(safe-area-inset-right))}.coral-status,.algae-status{grid-template-columns:auto 70px 2rem}.hint{right:calc(1rem + env(safe-area-inset-right));bottom:calc(4.8rem + env(safe-area-inset-bottom));left:calc(1rem + env(safe-area-inset-left));text-align:center}.menu-toggle{right:calc(1rem + env(safe-area-inset-right));bottom:calc(1rem + env(safe-area-inset-bottom))}.release-toggle{right:auto;left:calc(1rem + env(safe-area-inset-left))}.settings-toggle{top:calc(1rem + env(safe-area-inset-top));right:calc(1rem + env(safe-area-inset-right))}.message{top:calc(7.5rem + env(safe-area-inset-top));white-space:normal;text-align:center;max-width:calc(100% - 2rem)}.draft-screen{padding:calc(1.25rem + env(safe-area-inset-top)) calc(1rem + env(safe-area-inset-right)) calc(1.25rem + env(safe-area-inset-bottom)) calc(1rem + env(safe-area-inset-left))}.draft-screen h2{font-size:2.5rem}.draft-options{grid-template-columns:1fr;gap:.65rem;margin-top:1rem}.draft-options button{padding:.85rem}.draft-effects{gap:.55rem;margin-block:.7rem}.draft-effect{grid-template-columns:1.1rem minmax(0,1fr) auto}.effect-value{grid-column:3;margin:0;font-size:.85rem}.draft-note{padding-top:.6rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important}}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-mono-latin-400-normal-4GdczIuU.woff2)format("woff2"),url(/assets/dm-mono-latin-400-normal--0xN8mdc.woff)format("woff")}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-mono-latin-500-normal-DRMDZjhP.woff2)format("woff2"),url(/assets/dm-mono-latin-500-normal-CN8Miw6E.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-latin-400-normal-PaqtzbVb.woff2)format("woff2"),url(/assets/manrope-latin-400-normal-8tf8FM3T.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-latin-500-normal-BYYD-dBL.woff2)format("woff2"),url(/assets/manrope-latin-500-normal-DMZssgOp.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-600-normal-4f0koTD-.woff2)format("woff2"),url(/assets/manrope-latin-600-normal-BqgrALkZ.woff)format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-latin-700-normal-BZp_XxE4.woff2)format("woff2"),url(/assets/manrope-latin-700-normal-DGRFkw-m.woff)format("woff")}
