@font-face{font-family:DM Sans;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/dm-sans-latin.woff2) format("woff2")}@font-face{font-family:Fraunces;font-style:normal;font-weight:600 700;font-display:swap;src:url(/fonts/fraunces-latin.woff2) format("woff2")}:root{font-family:DM Sans,Arial,sans-serif;color:#153b3d;background:#f7f8f0;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid #ff8a67;outline-offset:4px}.site-header{max-width:1440px;margin:auto;padding:25px clamp(24px,6vw,96px);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:27px;letter-spacing:-1.8px;font-weight:800;display:inline-flex;gap:10px;align-items:center;color:#086c76}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#086c76;color:#fff2d0;font-size:23px;line-height:1}.brand-light{font-weight:500}.brand-dot{color:#ff8b66}.site-header nav{display:flex;align-items:center;gap:34px;font-size:14px;font-weight:700}.site-header nav>a:not(.nav-play):hover,.about-section>a:hover,footer a:hover{color:#e57050}.nav-play{padding:12px 17px;background:#173d3d;color:#fff;border-radius:999px}.nav-play span{margin-left:10px}.nav-play:hover,.hero-cta:hover,.primary-button:hover{transform:translateY(-2px);background:#075f68}.home-page .site-header{background:#e9f6f0;padding-top:10px;padding-bottom:10px}.eyebrow{font-size:11px;letter-spacing:.19em;font-weight:800;color:#08757a;margin:0 0 10px;display:flex;align-items:center;gap:9px}.eyebrow-dot{width:7px;height:7px;border-radius:50%;background:#ff8b66}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.045em}h1{font-size:clamp(36px,4.1vw,60px);line-height:1.08;margin:0 0 10px;color:#153b3d;font-weight:800}h1 em,h2 em{font-family:Fraunces,Georgia,serif;font-weight:600;color:#0b8384;font-style:italic;letter-spacing:-.045em}.game-intro{max-width:1280px;margin:0 auto 8px;display:grid;grid-template-columns:minmax(0,1fr) 246px;align-items:center;gap:28px}.game-intro h1{margin-bottom:6px}.game-intro-copy>p:last-child{max-width:700px;color:#52736e;font-size:14px;line-height:1.55;margin:0}.intro-sea{position:relative;height:98px;border-radius:64px 64px 24px 24px;overflow:hidden;background:linear-gradient(145deg,#c9eee2,#8dcec8);box-shadow:inset 0 1px #fffa}.intro-current{position:absolute;width:150%;height:90px;left:-20%;bottom:-64px;border:2px solid #e8fff5aa;border-radius:50%;box-shadow:0 -18px 0 -16px #e8fff5aa}.intro-fish{position:absolute;display:block;width:52px;height:31px;border-radius:55% 50% 50% 55%;filter:drop-shadow(0 6px 5px #2b8c8240)}.intro-fish:before{content:"";position:absolute;width:19px;height:25px;left:-13px;top:3px;background:inherit;clip-path:polygon(0 0,100% 50%,0 100%)}.intro-fish:after{content:"";position:absolute;width:5px;height:5px;right:10px;top:9px;border-radius:50%;background:#153b3d;box-shadow:1px -1px 0 1px #fff9}.intro-fish i{position:absolute;width:7px;height:100%;left:19px;top:0;transform:skew(-14deg);background:#fff5db;box-shadow:11px 0 #fff5db}.intro-fish-one{left:34px;top:48px;background:#ff9871}.intro-fish-two{left:117px;top:26px;background:#f4c65f;--fish-scale: .74;transform:scale(var(--fish-scale))}.intro-fish-three{left:179px;top:67px;background:#6aaddc;--fish-scale: .56;transform:scale(var(--fish-scale))}.intro-bubble{position:absolute;border:1px solid #fff9;border-radius:50%;box-shadow:inset 0 0 9px #fff7}.intro-bubble-one{width:15px;height:15px;left:23px;top:21px}.intro-bubble-two{width:8px;height:8px;right:29px;top:18px}.intro-bubble-three{width:12px;height:12px;right:53px;bottom:11px}@media(prefers-reduced-motion:no-preference){.intro-fish-one{animation:reef-swim 4.4s ease-in-out infinite}.intro-fish-two{animation:reef-swim-small 5.2s ease-in-out -1.5s infinite}.intro-fish-three{animation:reef-swim-small 4.7s ease-in-out -2.3s infinite}.intro-bubble{animation:bubble-rise 4s ease-in-out infinite}.intro-bubble-two{animation-delay:-1.6s}.intro-bubble-three{animation-delay:-2.8s}.tray-slot.filled{animation:tray-pop .26s cubic-bezier(.2,.8,.2,1)}}@keyframes reef-swim{50%{transform:translate(15px,-7px) rotate(-5deg)}}@keyframes reef-swim-small{50%{transform:translate(11px,-6px) scale(var(--fish-scale)) rotate(-5deg)}}@keyframes bubble-rise{50%{transform:translateY(-12px);opacity:.6}}@keyframes tray-pop{0%{transform:scale(.74);opacity:.55}to{transform:scale(1);opacity:1}}.game-section{background:linear-gradient(180deg,#e9f6f0,#ddf2eb);padding:12px clamp(18px,5vw,80px) 32px;scroll-margin-top:0}.how-section h2,.about-section h2{font-size:clamp(32px,3.4vw,50px);line-height:1.12;margin:0}.game-shell{max-width:1280px;margin:auto;background:#fffdf4;border:1px solid #c9e4db;box-shadow:0 22px 50px #2c807826;border-radius:24px;overflow:hidden}.game-topbar{height:60px;padding:0 27px;border-bottom:1px solid #dfeae4;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fffef8}.game-name{display:flex;align-items:center;gap:12px;color:#075d67;font-weight:800;font-size:20px;letter-spacing:-.045em}.game-name small{display:block;font-size:9px;letter-spacing:.22em;margin-top:-2px;color:#4c716b}.tiny-fish{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#d2eee6;color:#f48d6d;font-size:18px}.game-top-right{display:flex;align-items:center;gap:9px}.level-pill{font-size:11px;letter-spacing:.13em;font-weight:800;color:#0d777c;background:#e8f4ed;padding:11px 14px;border-radius:999px;margin-right:7px}.icon-button{width:36px;height:36px;border:1px solid #cfe1dc;border-radius:50%;background:#fff;color:#1d6a6c;font-size:19px}.icon-button:hover{background:#e5f5f0}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 258px;min-height:0}.board-wrap{position:relative;min-width:0;height:clamp(300px,calc(100dvh - 300px),540px);background:#9edbd4;align-self:stretch;overflow:hidden}.board-wrap canvas{display:block;width:100%;height:100%;cursor:pointer;touch-action:manipulation}.game-overlay{position:absolute;inset:0;background:#073e4a66;display:grid;place-items:center;padding:20px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.game-overlay.hidden{display:none}.overlay-card{max-width:410px;background:#fffdf4;border-radius:26px;text-align:center;padding:37px 33px 33px;box-shadow:0 23px 60px #063e4b36}.overlay-kicker{font-size:10px;letter-spacing:.18em;font-weight:800;color:#118a8b}.overlay-card h3{font-size:34px;line-height:1.05;letter-spacing:-.045em;margin:13px 0 15px;color:#123d40}.overlay-card p{color:#65807c;line-height:1.55;font-size:14px;margin-bottom:23px}.overlay-card .primary-button{min-width:200px}.game-side{padding:18px;background:#fffef9;border-left:1px solid #e1ebe5;display:flex;flex-direction:column;gap:13px}.stat-label{display:block;font-size:10px;letter-spacing:.18em;font-weight:800;color:#4c716b}.score-card{padding:12px 14px;border-radius:20px;background:#eef8f2}.score-card strong{display:block;font-family:Fraunces,Georgia,serif;font-size:40px;line-height:1.16;letter-spacing:-.05em;color:#0a6b72}.score-foot{color:#4b6e68;font-size:12px}.score-foot b{color:#184c4e}.card-title-line{display:flex;justify-content:space-between;gap:8px;align-items:center}.card-title-line>span:last-child{font-size:11px;font-weight:800;color:#407774}.progress-track{height:9px;background:#dceae3;border-radius:99px;overflow:hidden;margin:13px 0 6px}.progress-track span{display:block;width:100%;height:100%;background:#ff9871;border-radius:99px;transform:scaleX(0);transform-origin:left;transition:transform .35s}.progress-card p,.tray-card p{font-size:11px;color:#4e706a;margin:0}.tray-card{border-top:1px solid #e5ece4;padding-top:13px}.tray-slots{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:14px 0 9px}.tray-slot{aspect-ratio:1;border:1px dashed #bad8d0;border-radius:10px;background:#f7faf5;display:grid;place-items:center;min-width:0}.tray-slot.filled{border:1px solid #dce8dd;background:#eaf5f0}.tray-slot svg{width:100%;height:100%}.game-actions{border-top:1px solid #e5ece4;padding-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:7px}.game-actions button:nth-child(3){grid-column:1 / -1}.game-actions button{width:100%;border:1px solid #d7e6df;border-radius:12px;background:#fff;min-height:38px;padding:7px 11px;text-align:left;font-weight:700;font-size:12px;color:#235b5c;display:flex;align-items:center;gap:8px}.game-actions button:hover:enabled{border-color:#16868a;background:#f2faf4}.game-actions button:disabled{opacity:.45;cursor:not-allowed}.game-actions button span{font-size:18px;line-height:1}.game-actions kbd{display:none;color:#89aaa5;background:#eaf5ef;border-radius:4px;padding:2px 5px;font-family:inherit}.game-hint{font-size:11px;color:#4c706a;line-height:1.4;margin:auto 0 0}.under-game{max-width:1280px;margin:20px auto 0;text-align:center;color:#456d66;font-size:13px}.under-game span{color:#f08b6c;margin-left:6px}.how-section{max-width:1280px;margin:auto;padding:108px 32px;display:grid;grid-template-columns:1fr 1.12fr;gap:100px}.how-intro>p:last-child{line-height:1.7;color:#6b817b;max-width:380px;margin:22px 0 0}.steps{display:flex;flex-direction:column}.step{display:grid;grid-template-columns:60px 1fr;gap:24px;padding:23px 0;border-bottom:1px solid #dce7df}.step:first-child{border-top:1px solid #dce7df}.step-number{font-family:Fraunces,Georgia,serif;font-size:27px;color:#ef906f}.step h3{font-size:18px;letter-spacing:-.03em;margin:0 0 6px}.step p{font-size:14px;color:#718982;line-height:1.55;margin:0}.about-section{background:#0c696f;color:#fffaf0;display:grid;grid-template-columns:70px minmax(0,720px) auto;align-items:center;gap:30px;padding:70px max(30px,calc((100vw - 1280px)/2))}.about-icon{font-size:48px;color:#ffd9a5}.about-section .eyebrow{color:#a4e8dc}.about-section h2{max-width:600px}.about-section p:last-child{color:#bfddd4;line-height:1.6;max-width:630px;margin:17px 0 0;font-size:14px}.about-section>a{white-space:nowrap;font-weight:800;font-size:13px}.about-section>a:hover{color:#ffd7ac}.game-details,.faq-section{max-width:1280px;margin:0 auto;padding:24px 32px 100px}.game-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.detail-block{padding:34px;border:1px solid #dce7df;border-radius:24px;background:#fffdf7}.detail-wide{grid-column:1 / -1;background:#e7f3ed}.detail-block h2,.faq-section h2{font-size:clamp(28px,3vw,40px);line-height:1.16;margin-bottom:16px}.detail-block p:last-child,.faq-item p{color:#4f6d67;line-height:1.65;margin-bottom:0}.faq-section{padding-top:100px}.faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 50px;margin-top:30px}.faq-item{border-top:1px solid #dce7df;padding:25px 0}.faq-item h3{font-size:18px;margin-bottom:9px}.faq-item a,.about-section p a,.info-page a:not(.brand):not(.hero-cta){text-decoration:underline;text-underline-offset:3px}.faq-item a:hover,.about-section p a:hover,.info-page a:not(.brand):not(.hero-cta):hover{color:#e57050}footer{max-width:1440px;margin:auto;display:flex;justify-content:space-between;padding:28px clamp(24px,6vw,96px);color:#52706a;font-size:12px}footer a{font-weight:800;color:#427b78}footer nav{display:flex;flex-wrap:wrap;gap:12px 22px}.info-page{max-width:850px;margin:0 auto;padding:80px 25px 120px;min-height:65dvh}.info-page h1{font-size:clamp(48px,7vw,76px)}.info-page h2{font-size:26px;margin:42px 0 13px}.info-page p,.info-page li{color:#57736e;font-size:16px;line-height:1.75}.info-page ul{padding-left:24px}.info-page .page-intro{font-size:20px;color:#315d59}.info-page .updated{font-size:13px;color:#52706a}.game-shell:fullscreen{width:100vw;height:100dvh;max-width:none;border-radius:0;display:flex;flex-direction:column}.game-shell:fullscreen .game-layout{flex:1;min-height:0}.game-shell:fullscreen .board-wrap canvas{height:100%}.game-shell:fullscreen .board-wrap{height:100%}@media(max-width:1000px){.game-intro{grid-template-columns:minmax(0,1fr) 190px}.game-layout{grid-template-columns:minmax(0,1fr) 232px}.game-side{padding:13px}}@media(max-height:750px)and (min-width:761px){.game-side{padding:10px;gap:6px}.score-card{padding:8px 10px}.score-card strong{font-size:31px}.tray-card{padding-top:8px}.tray-slots{margin:7px 0 4px}.game-actions{padding-top:6px;gap:5px}.game-actions button{padding:4px 7px}.game-hint{font-size:10px;line-height:1.25}}@media(max-width:760px){.home-page .site-header{padding:12px 16px}.brand{font-size:23px}.site-header nav{gap:12px}.site-header nav>a:not(.nav-play){display:none}.nav-play{padding:9px 13px;font-size:12px}.game-section{padding:8px 10px 28px}.game-intro{display:block;margin:0 6px 12px}.game-intro .eyebrow{font-size:9px;margin-bottom:7px}.game-intro h1{font-size:clamp(31px,8.6vw,44px);margin-bottom:6px}.game-intro-copy>p:last-child{font-size:13px;line-height:1.42}.intro-sea{display:none}.game-shell{border-radius:17px}.game-topbar{height:54px;padding:0 12px}.game-name{font-size:17px}.game-name small{font-size:8px}.tiny-fish{width:30px;height:30px}.game-top-right{gap:4px}.level-pill{padding:7px;font-size:9px;margin-right:0}.game-layout{display:grid;grid-template-columns:1fr 1fr;min-height:0}.game-side{display:contents}.tray-card{grid-column:1 / -1;grid-row:1;display:grid;grid-template-columns:94px minmax(0,1fr);align-items:center;gap:8px;min-height:60px;padding:8px 14px;border:0;background:#fffef9}.tray-card .card-title-line{display:block}.tray-card .stat-label{font-size:9px}.tray-slots{margin:0;max-width:none;gap:3px}.tray-slot{border-radius:7px}.tray-card p{display:none}.board-wrap{grid-column:1 / -1;grid-row:2;height:clamp(270px,min(88vw,calc(100dvh - 376px)),420px);min-height:0}.board-wrap canvas{height:100%;min-height:0}.score-card,.progress-card{min-width:0;min-height:76px;border-radius:0;padding:11px 15px;background:#fffef9;border-bottom:1px solid #e1ebe5}.score-card{grid-column:1;grid-row:3;border-right:1px solid #e1ebe5}.score-card strong{font-size:30px;line-height:1}.score-foot{font-size:11px}.progress-card{grid-column:2;grid-row:3}.progress-track{margin:9px 0 5px}.game-actions{grid-column:1 / -1;grid-row:4;display:grid;grid-template-columns:repeat(3,1fr);padding:12px 14px 0;border:0;background:#fffef9}.game-actions button:nth-child(3){grid-column:auto}.game-actions button{justify-content:center;text-align:center;padding:7px 5px;font-size:11px}.game-hint{grid-column:1 / -1;grid-row:5;padding:8px 15px 14px;margin:0;background:#fffef9}.game-actions kbd{display:none}.overlay-card{padding:24px 20px}.overlay-card h3{font-size:28px}.how-section{display:block;padding:75px 25px}.game-details,.faq-list{display:block}.game-details{padding:0 25px 70px}.detail-block{margin-bottom:14px;padding:25px}.faq-section{padding:75px 25px}.how-intro{margin-bottom:34px}.about-section{grid-template-columns:1fr;padding:55px 25px;gap:15px}.about-icon{font-size:36px}.about-section>a{margin-top:8px}footer{padding:24px;gap:10px;flex-direction:column}}@media(max-width:420px){.game-intro h1{font-size:32px}.game-intro-copy>p:last-child{font-size:12px}.game-actions button{font-size:10px}}@media(max-width:360px){.level-pill{display:none}.tray-card{grid-template-columns:82px minmax(0,1fr);padding-inline:10px}}.nav-play{display:inline-flex;align-items:center;min-height:44px}.icon-button{min-width:44px;min-height:44px}.game-actions button{min-height:44px}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.intro-fish,.intro-bubble,.tray-slot.filled{animation:none}.progress-track span,.nav-play,.primary-button{transition-duration:0s}}
