@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700;900&display=swap');
[hidden]{display:none!important}
:root{--bg:#f8f7f0;--green:#234c3f;--muted:#65756a;--line:#dedfd2;--orange:#d66639;--mint:#e6eddb}*{box-sizing:border-box}body{margin:0;color:var(--green);background:var(--bg);font-family:'Zen Maru Gothic','Yu Gothic',sans-serif;font-weight:500}button,a{ -webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #d66639;outline-offset:5px}button{transition:transform .15s,background .15s}button:hover{transform:translateY(-2px)}button:disabled{cursor:default;transform:none}header{max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:25px 42px;border-bottom:1px solid var(--line);gap:25px}.brand{text-decoration:none;display:flex;gap:12px;align-items:center;color:var(--green);font-size:24px;font-weight:900;white-space:nowrap}.brand-icon{display:grid;place-items:center;border-radius:14px;background:var(--green);color:#f7f6e8;width:47px;height:50px;font-size:30px}.brand small{display:block;font-size:10px;letter-spacing:1px;font-weight:500;margin-top:2px}nav{display:flex;gap:10px}.nav{border:0;background:transparent;padding:10px 19px;font-size:14px}.nav.active{background:var(--green);border-radius:30px;color:white}.adult{background:none;border:0;font-size:12px;color:var(--muted)}main{max-width:1200px;margin:auto;padding:32px 34px 60px;min-height:75vh}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;display:flex;align-items:center;gap:10px}.eyebrow:before{content:'';width:20px;height:2px;background:currentColor}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;min-height:355px;gap:22px}.hero h1{font-size:clamp(32px,3.8vw,48px);line-height:1.55;letter-spacing:2px;margin:18px 0}.hero h1 em{font-style:normal;position:relative;white-space:nowrap}.hero h1 em:after{content:'';position:absolute;bottom:1px;left:0;right:0;height:8px;background:#eab56c77;z-index:-1}.hero p{font-size:14px;line-height:1.9;color:var(--muted)}.primary{border:0;background:var(--green);color:white;padding:15px 27px;border-radius:12px;box-shadow:0 4px 0 #142f27;display:inline-flex;align-items:center;justify-content:center;gap:28px;font-weight:700}.primary.orange{background:var(--orange);box-shadow:0 4px 0 #a44723}.hero .primary{margin-top:14px}.subtext{display:block;font-size:11px;margin:14px 0;color:var(--muted)}.scene{position:relative;min-height:320px;display:grid;place-items:center}.scene svg{width:100%;max-height:345px}.scene .float{position:absolute;background:#fffdf6;border:1px solid #e2e4d6;border-radius:16px;padding:12px 18px;box-shadow:0 6px 0 #e1e4d566;transform:rotate(-9deg);top:30px;left:30px;font-size:31px}.scene .float.second{left:auto;right:15px;top:170px;transform:rotate(10deg)}.scene .float small{display:block;font-size:10px;text-align:center}.journey{background:#ecefe3;border-radius:14px;display:flex;align-items:center;justify-content:space-between;padding:17px 24px;margin:22px 0 36px;gap:16px}.journey strong{font-size:14px}.journey p{margin:3px 0 0;font-size:12px;color:var(--muted)}.seeds{display:flex;gap:9px}.seed{width:34px;height:34px;background:#dce2d0;border:1px dashed #a5b297;border-radius:50%;display:grid;place-items:center;color:#7a896d}.seed.earned{background:#f8d789;border:1px solid #dda450;color:#8f5b12}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px}.section-heading h2{font-size:23px;margin:4px 0}.section-heading small{color:var(--muted);font-size:12px}.section-heading p{font-size:12px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{text-align:left;background:#fffef8;border:1px solid var(--line);border-radius:18px;padding:23px;position:relative;min-height:222px;box-shadow:0 4px 0 #e5e6db}.card:hover{border-color:var(--green);box-shadow:0 6px 0 #dce3d3}.card-top{display:flex;align-items:center;justify-content:space-between}.card-icon{background:var(--tint);width:57px;height:57px;border-radius:15px;display:grid;place-items:center;font-size:34px;font-family:serif;font-weight:bold;color:var(--ink)}.tag{font-size:10px;border:1px solid #dfe1d4;border-radius:20px;padding:4px 10px}.card h3{margin:19px 0 8px;font-size:19px}.card p{font-size:12px;line-height:1.9;color:var(--muted);margin:0;max-width:90%}.card .arrow{position:absolute;right:23px;bottom:21px;font-size:22px}.card.last{grid-column:span 2;display:flex;align-items:center;gap:24px;background:#edf0e4;min-height:200px}.card.last .card-icon{width:100px;height:100px;font-size:50px;flex-shrink:0}.card.last h3{margin-top:10px}.card.last .tag{display:inline-block}.intro-note{display:flex;gap:12px;align-items:center;margin-top:26px;color:var(--muted);font-size:12px}.intro-note b{font-size:22px;color:var(--green)}footer{max-width:1200px;margin:auto;padding:22px 34px 30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.back{border:0;background:none;padding:4px 0;font-size:13px;color:var(--muted)}.game-header{display:flex;justify-content:space-between;align-items:center;margin:12px 0 25px}.game-header h1{font-size:23px}.progress{height:7px;background:#e0e4d8;border-radius:10px;overflow:hidden}.progress span{display:block;height:100%;background:#789560;transition:width .3s}.game{max-width:780px;margin:0 auto}.question{background:#fffef9;border:1px solid var(--line);border-radius:23px;padding:28px 35px;text-align:center;margin-top:25px;min-height:440px;box-shadow:0 5px 0 #e6e7dc}.question .label{font-size:12px;color:var(--muted)}.question h2{font-size:23px;line-height:1.7;margin:12px 0 18px}.kanji{font-family:'Yu Mincho','Noto Serif JP',serif;font-size:105px;line-height:1.4;color:#293f32}.kanji .part{color:#c66338}.breakup{display:flex;align-items:center;justify-content:center;gap:18px;margin:12px 0}.piece{width:105px;height:115px;display:grid;place-items:center;font-family:serif;font-size:66px;border:2px dashed #d5d9cb;border-radius:15px;background:#f4f5ed}.piece.selected{background:#e0ebd5;border-color:#547c49}.piece:hover{background:#e8eddf}.symbol{font-size:27px;color:#8a9983}.options{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:20px}.option{background:white;border:2px solid #dfe2d5;padding:17px 12px;border-radius:14px;font-size:18px;min-height:67px}.option:hover{background:#f3f5eb;border-color:#8a9e7d}.option.correct{background:#e3f0da;border-color:#6c9454}.option.wrong{background:#fff0e7;border-color:#dc9a74}.option:disabled{opacity:1}.hint-row{display:flex;justify-content:space-between;align-items:center;margin:20px 0;gap:10px}.text-button{border:0;background:none;font-size:13px;text-decoration:underline;text-underline-offset:4px;padding:7px}.feedback{padding:17px 20px;border-radius:13px;background:#eef2e5;line-height:1.85;font-size:14px;margin:17px 0}.feedback strong{display:block;font-size:18px}.feedback.retry{background:#fff0e3}.next{width:100%;margin-top:4px}.book-head{margin:18px 0 28px}.book-head h1{font-size:32px;margin-bottom:8px}.book-head p{font-size:14px;color:var(--muted)}.book-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.book-card{background:#fffef8;border:1px solid var(--line);border-radius:16px;padding:22px;text-align:center}.book-card .glyph{font-size:60px;line-height:1.5;font-family:serif;color:#b55e35}.book-card h2{font-size:17px}.book-card p{font-size:12px;line-height:1.8;color:var(--muted)}.examples{font-family:serif;font-size:27px;letter-spacing:9px;background:#eff1e8;padding:8px;border-radius:8px}.result{text-align:center;max-width:700px;margin:35px auto}.result .big{font-size:70px}.result h1{font-size:31px}.result>p{color:var(--muted);font-size:15px;line-height:1.9}.result-stats{display:flex;justify-content:center;gap:12px;margin:25px 0}.stat{background:#edf0e3;border-radius:16px;padding:20px 28px}.stat strong{font-size:28px;display:block}.stat small{font-size:12px}.result-actions{display:flex;gap:15px;justify-content:center;margin-top:25px}.secondary{border:1px solid #b8c4ae;background:#fffef8;padding:14px 22px;border-radius:12px}.record-list{display:grid;gap:15px}.record-row{background:#fffef8;border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.record-row h2{font-size:17px;margin:0 0 5px}.record-row p{font-size:12px;color:var(--muted);margin:0}.record-row button{white-space:nowrap}.empty{padding:30px;text-align:center;color:var(--muted)}dialog{border:0;border-radius:23px;padding:32px;max-width:640px;width:calc(100% - 32px);max-height:85vh;color:var(--green);background:var(--bg);box-shadow:0 25px 100px #162d3340}dialog::backdrop{background:#183c335e;backdrop-filter:blur(3px)}dialog h2{font-size:22px}dialog p,dialog li{font-size:14px;line-height:1.9}dialog li{margin-bottom:10px}dialog .primary{margin-top:15px}.compare{display:flex;gap:15px;justify-content:center;align-items:center}.compare span{background:#edf0e4;border-radius:14px;padding:12px 24px;font-size:50px;font-family:serif}.smallprint{font-size:11px!important;color:var(--muted)}@media(min-width:1100px){.cards{grid-template-columns:repeat(3,1fr)}}@media(max-width:800px){header{padding:20px;flex-wrap:wrap;gap:18px}.adult{font-size:10px}nav{order:3;width:100%;justify-content:center}main{padding:22px 20px 45px}.hero{grid-template-columns:1fr 0.8fr;gap:0}.hero h1{font-size:31px}.scene{min-height:260px}.scene .float{left:0;top:30px;padding:8px 12px;font-size:23px}.scene .float.second{right:0;top:180px}.cards{grid-template-columns:1fr 1fr}.card.last{grid-column:span 2}.book-grid{grid-template-columns:repeat(3,1fr)}.hero p{font-size:12px}}@media(max-width:540px){header{padding:17px 18px}.brand{font-size:21px}.brand-icon{width:40px;height:44px}.brand small{font-size:8px}.adult{max-width:90px;font-size:10px}.nav{font-size:13px;padding:9px 17px}.hero{grid-template-columns:1fr;position:relative}.hero h1{font-size:33px;margin:13px 0}.hero p{max-width:260px}.scene{min-height:215px;margin-top:-12px;max-width:350px;justify-self:center;width:100%}.scene svg{height:225px}.scene .float{top:20px;left:8px}.scene .float.second{top:115px;right:0}.hero .primary{margin-top:8px}.journey{margin:14px 0 28px;padding:15px;flex-wrap:wrap}.journey strong{font-size:13px}.seeds{gap:7px}.seed{width:28px;height:28px}.section-heading h2{font-size:22px}.section-heading p{display:none}.cards{gap:12px}.card{padding:17px;min-height:230px}.card h3{font-size:17px}.card p{font-size:11px}.card-icon{width:45px;height:45px;font-size:28px}.tag{font-size:9px;padding:3px 6px}.card.last{min-height:190px;gap:17px}.card.last .card-icon{width:65px;height:75px;font-size:39px}.book-grid{grid-template-columns:1fr 1fr;gap:12px}.book-card{padding:16px 12px}.question{padding:24px 18px}.question h2{font-size:20px}.option{font-size:16px;padding:13px 8px}.piece{width:90px;height:100px}.game-header h1{font-size:19px}.game-header{gap:10px}.hint-row{align-items:start}.record-row{padding:15px}.record-row h2{font-size:15px}.record-row button{padding:10px 15px}.result-actions{flex-direction:column}.stat{padding:18px}.result h1{font-size:27px}footer{padding:20px;gap:15px;font-size:9px}footer>span:first-child{max-width:230px}.intro-note{font-size:11px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:540px){.hero h1{font-size:27px;letter-spacing:0}.hero>div{min-width:0}}
.collection{margin-top:36px;background:#fffdf6;border:1px solid #dfdfcf;padding:25px;border-radius:20px}.collection>p{font-size:12px;color:var(--muted);line-height:1.9}.stickers{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:20px}.sticker{border:1px dashed #cbd0bd;background:#f0f1e8;border-radius:16px;padding:16px 8px;color:#839174;min-height:105px}.sticker span{display:block;font-size:34px}.sticker small{display:block;font-size:10px;margin-top:8px}.sticker.unlocked{background:#fff2ce;border:1px solid #e0c38c;color:#655731;box-shadow:0 3px 0 #f0dfb9}.owl-coach{display:flex;align-items:center;gap:12px;margin:24px 0 5px}.owl-coach>span{font-size:34px}.owl-coach p{background:#e8eddd;padding:12px 18px;border-radius:3px 15px 15px 15px;font-size:13px;line-height:1.8;margin:0}.flower-trail{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:20px}.bloom{font-size:25px;filter:grayscale(.5);display:block}.bloom.open{filter:none}.trail-dot{color:#a9b59b;font-size:13px}.reward-card{background:#fff0cc;border:1px solid #e3c37c;border-radius:24px;padding:25px;margin-bottom:32px;transform:rotate(-1deg)}.reward-label{font-size:13px;display:block;font-weight:700}.friend-large{font-size:83px;text-align:center;line-height:1.6}.reward-card strong{font-size:23px}.reward-card p{font-size:14px;line-height:1.8}.result:has(.reward-card)>.big{display:none}.pop{animation:bloom .6s ease-out}@keyframes bloom{0%{transform:scale(.4) rotate(-15deg)}60%{transform:scale(1.25) rotate(8deg)}100%{transform:scale(1) rotate(0)}}@media(max-width:540px){.collection{padding:18px}.stickers{grid-template-columns:repeat(2,1fr);gap:10px}.sticker:last-child{grid-column:auto}.flower-trail{gap:7px}.bloom{font-size:25px}.trail-dot{font-size:10px}.owl-coach p{font-size:12px;padding:10px 12px}}
:root{--bg:#f5f9f5;--green:#235e70;--muted:#607f85;--line:#d4e2dd;--orange:#e08a48;--mint:#e0f0e8}.brand-icon{background:#235e70}.hero h1 em:after{background:#f3cb7788}.journey{background:#e2efe8}.seed{background:#cddfe0;border-color:#9bb9b8;color:#5c888b}.seed.earned{background:#fbe0a3;border-color:#dab669}.card{background:#fffef7;box-shadow:0 4px 0 #e0e9df}.card.last{background:#e2efe8}.scene svg{max-height:345px}.collection{background:#edf7f3;border-color:#cadfd8}.sticker{background:#dbeae6;border-color:#adcac7}.sticker.unlocked{background:#f3fbf7;border-color:#9dc9c2;box-shadow:0 3px 0 #cde5df;color:#235e70}.fish-art{display:block;width:100%;max-width:150px;height:auto;margin:auto}.sticker>span{min-height:80px;display:grid;place-items:center}.friend-large .fish-art{max-width:210px}.owl-coach p{background:#e0eee7}.reward-card{background:#e0f2ee;border-color:#a3c9bf}.feedback{background:#e3f1e7}.fishing-pond{height:155px;position:relative;overflow:hidden;border:1px solid #bcdad6;background:linear-gradient(#e6f5ef 0 25%,#99d5d2 25%,#76bdbf 100%);border-radius:20px;margin-top:17px}.fishing-pond:after{content:'~　 ~　 ~　 ~　 ~　 ~　 ~　 ~　 ~　 ~　 ~　 ~';position:absolute;top:27px;left:0;right:0;white-space:nowrap;font-size:23px;color:#f2fff7;letter-spacing:11px;pointer-events:none}.line-and-bobber{position:absolute;left:50%;top:0;height:48px;border-left:2px solid #4b7b83;z-index:2}.line-and-bobber:after{content:'';display:block;position:absolute;bottom:0;left:-6px;width:11px;height:18px;border-radius:8px;background:linear-gradient(#ef8e56 50%,#fff9e9 50%);animation:bob 2.5s ease-in-out infinite}.swimming-fish{position:absolute;left:calc(50% - 50px);top:57px;width:100px;animation:swim 4s ease-in-out infinite}.fishing-pond p{position:absolute;bottom:6px;left:5px;right:5px;text-align:center;margin:0;font-size:11px;color:#194f60;background:#ecfff3cc;border-radius:10px;padding:4px;z-index:3}.fishing-pond.caught{background:linear-gradient(#fdf0c5 0 25%,#b3e0d6 25%,#8bcac9 100%)}.fishing-pond.caught .swimming-fish{animation:fish-catch .65s ease-out forwards}.fishing-pond.caught .line-and-bobber{height:28px;transition:height .4s}.question{margin-top:18px}.progress span{background:#56a8a1}.option:hover{border-color:#6caaa9;background:#f0f9f4}.option.correct{background:#dcf0e4;border-color:#66a48d}.piece:hover{background:#e5f3ec}.piece.selected{background:#d3ebe2;border-color:#5f9c88}@keyframes bob{50%{transform:translateY(5px) rotate(10deg)}}@keyframes swim{0%,100%{transform:translateX(-28px) rotate(-3deg)}50%{transform:translateX(28px) rotate(3deg)}}@keyframes fish-catch{0%{transform:translateY(0) rotate(0)}60%{transform:translateY(-40px) rotate(-15deg)}100%{transform:translateY(-25px) rotate(0)}}@media(max-width:540px){.fishing-pond{height:135px}.swimming-fish{top:42px;width:90px;left:calc(50% - 45px)}.sticker>span{min-height:70px}.hero h1{font-size:31px}}@media(prefers-reduced-motion:reduce){.line-and-bobber:after,.swimming-fish,.fishing-pond.caught .swimming-fish,.pop{animation:none!important}.fishing-pond.caught .swimming-fish{top:25px}}
/* Fishing motion: bite, tension, breach and landing share one timed scene. */
.fish-art{overflow:visible}.fish-tail{transform-box:view-box;transform-origin:145px 62px;animation:tail-beat 1.3s ease-in-out infinite}.fish-fin{transform-box:fill-box;transform-origin:left center;animation:fin-beat 1.7s ease-in-out infinite}.fish-gill{animation:gill-breathe 2s ease-in-out infinite}.fish-mouth-open{display:none}.fishing-pond{height:240px;background:linear-gradient(#e8f3ee 0 34%,#8bcac7 34%,#3f8e9e 100%);border:1px solid #a5cdcb;isolation:isolate}.fishing-pond:after{display:none}.fishing-pond:before{content:'';position:absolute;inset:34% 0 0;background:linear-gradient(115deg,transparent 20%,#ffffff15 21%,transparent 40%,#ffffff15 42%,transparent 52%);pointer-events:none}.pond-water{position:absolute;left:0;right:0;top:34%;height:66%;border-top:2px solid #f3fff7b0;z-index:1}.pond-water i{display:block;position:absolute;width:25%;height:12px;left:12%;top:25%;border-radius:50%;border-top:1px solid #effff67a;animation:water-glint 4s ease-in-out infinite}.pond-water i:nth-child(2){left:67%;top:60%;width:15%;animation-delay:1.3s}.pond-water i:nth-child(3){left:38%;top:80%;width:18%;animation-delay:2.3s}.fishing-tackle{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:4;pointer-events:none}.rod-shadow,.rod{fill:none;stroke-width:5;stroke-linecap:round;stroke:#755b40}.rod-shadow{stroke:#fff6d166;stroke-width:7;transform:translateY(-1px)}.rod-grip{stroke:#3f4c4a;stroke-width:9;stroke-linecap:round}.fishing-line{fill:none;stroke:#effdf1df;stroke-width:1.2}.real-bobber{filter:drop-shadow(0 2px 1px #1f67784a)}.fishing-pond:not(.catch-sequence) .real-bobber{animation:float-bob 3s ease-in-out infinite}.fishing-pond .swimming-fish{width:125px;left:72%;top:59%;transform:translate(-50%,-50%);animation:submerged-swim 4s ease-in-out infinite;opacity:.86;z-index:2;filter:drop-shadow(0 8px 4px #184d5d28)}.fishing-pond .swimming-fish .fish-art{max-width:none}.fishing-pond.catch-sequence .swimming-fish{animation:none}.catch-sequence .fish-tail{animation:tail-beat .2s ease-in-out infinite}.catch-sequence .fish-fin{animation:fin-beat .24s ease-in-out infinite}.fishing-pond[data-phase='2'] .swimming-fish,.fishing-pond.landed .swimming-fish{opacity:1;filter:drop-shadow(0 9px 5px #134b6140)}.fishing-pond.landed .fish-tail{animation-duration:.65s}.surface-ring{position:absolute;left:70%;top:34%;width:40px;height:9px;border:1px solid #effff8b8;border-radius:50%;transform:translate(-50%,-50%);z-index:3;animation:surface-ripple 3s ease-out infinite}.catch-sequence .surface-ring{left:64%;animation-duration:.7s}.splash{position:absolute;left:65%;top:34%;z-index:5;pointer-events:none}.splash i{position:absolute;background:#effff9;width:5px;height:10px;border-radius:50%;opacity:0}.splashing .splash i{animation:water-drop .9s cubic-bezier(.2,.4,.6,1) var(--delay) both}.catch-badge{position:absolute;left:50%;top:13%;transform:translate(-50%,0) scale(.8);font-size:13px;letter-spacing:1px;white-space:nowrap;background:#fff4cb;color:#6b582b;border:1px solid #dfc882;border-radius:20px;padding:7px 15px;z-index:5;opacity:0}.landed .catch-badge{animation:badge-in .45s ease-out forwards}.fishing-pond p{bottom:9px;left:12px;right:12px;padding:6px;font-size:12px;background:#edfff2e8;color:#225a6a}.primary:disabled{opacity:.65;box-shadow:0 2px 0 #142f27;cursor:wait}
/* The tank uses continuous steering and sinking food, rather than a text-only response. */
.tank-heading{margin:0 0 8px;font-size:22px}.tank-help{font-size:12px;margin:0 0 17px;color:var(--muted)}.aquarium{height:290px;position:relative;overflow:hidden;border-radius:19px;border:5px solid #e1efea;box-shadow:inset 0 0 25px #0b506b35,0 0 0 1px #b5d3cf;background:linear-gradient(#c8f0e8 0%,#83cdd0 12%,#4c9db2 65%,#377b98 100%);cursor:crosshair;touch-action:manipulation;isolation:isolate}.aquarium:before{content:'';position:absolute;left:0;right:0;top:25px;border-top:2px solid #f3fff79e;box-shadow:0 4px 9px #ffffff66;z-index:3;pointer-events:none}.aquarium:after{content:'';position:absolute;inset:0;box-shadow:inset 8px 0 0 #ffffff19,inset -8px 0 0 #ffffff16;pointer-events:none;border-radius:12px;z-index:8}.tank-light{position:absolute;inset:0;background:repeating-linear-gradient(112deg,transparent 0 65px,#e9ffec1c 75px,transparent 120px);animation:light-shift 9s ease-in-out infinite}.tank-floor{position:absolute;bottom:-15px;left:-10%;width:120%;height:44px;border-radius:50% 40% 0 0;background:radial-gradient(ellipse at 22% 38%,#9a9476 0 3px,transparent 4px),radial-gradient(ellipse at 65% 18%,#a89b7b 0 4px,transparent 5px),radial-gradient(ellipse at 48% 42%,#e4d7ac 0 5px,transparent 6px),#c3bc93;background-size:43px 22px,71px 27px,83px 31px,auto;box-shadow:0 -5px 12px #6aa69b40}.water-plant{position:absolute;bottom:13px;left:20px;height:100px;width:11px;border-radius:90% 0 0 0;background:#438b77;transform-origin:bottom;transform:rotate(-7deg);animation:plant-sway 6s ease-in-out infinite}.water-plant:before,.water-plant:after{content:'';position:absolute;width:10px;height:80px;bottom:0;border-radius:0 95% 0 0;background:#69a586;left:11px;transform:rotate(14deg);transform-origin:bottom}.water-plant:after{left:-13px;height:64px;transform:rotate(-14deg);background:#8bbc91}.plant-b{left:auto;right:27px;height:76px;animation-delay:-2s;transform:scaleX(-1)}.tank-bubbles i{position:absolute;left:12%;bottom:22px;width:7px;height:7px;border:1px solid #d9fffcb0;border-radius:50%;animation:tank-bubble 6s linear infinite;opacity:0}.tank-bubbles i:nth-child(2){left:88%;animation-delay:-2s;width:5px;height:5px}.tank-bubbles i:nth-child(3){left:14%;animation-delay:-4s;width:4px;height:4px}.tank-bubbles i:nth-child(4){left:85%;animation-delay:-1s}.tank-fish{position:absolute;left:58%;top:55%;width:140px;z-index:4;filter:drop-shadow(0 9px 6px #17475a36);will-change:left,top,transform;pointer-events:none}.tank-fish .fish-art{max-width:none}.fish-heading{transition:transform .3s ease-in-out}.tank-fish.chasing .fish-tail{animation-duration:.38s}.tank-fish.munching .fish-mouth-closed{display:none}.tank-fish.munching .fish-mouth-open{display:block;animation:mouth-munch .16s ease-in-out 2}.food-layer{position:absolute;inset:0;z-index:5;pointer-events:none}.food-pellet{position:absolute;left:-3px;top:-3px;width:6px;height:5px;border-radius:45%;background:radial-gradient(circle at 30% 25%,#dfba72,#916037 65%);box-shadow:0 1px 1px #355d5466;will-change:transform}.eat-bubble{position:absolute;width:9px;height:9px;border:1px solid #f1fff8;border-radius:50%;animation:eat-pop .55s ease-out both;pointer-events:none}.tank-ripple{position:absolute;left:var(--drop-x,50%);top:25px;border:1px solid white;border-radius:50%;width:15px;height:5px;opacity:0;z-index:6;pointer-events:none}.dropping .tank-ripple{animation:feeding-ripple .9s ease-out}.feeding-controls{display:flex;align-items:center;gap:16px;justify-content:space-between;margin-top:20px}.feeding-controls .primary{padding:12px 18px;font-size:14px;gap:15px}.feeding-controls>span{font-size:11px;color:var(--muted)}.tank-status{min-height:30px;font-size:13px!important;margin:17px 0 0;line-height:1.6!important}.aquarium~.tank-status+.primary{margin-top:8px}
@keyframes tail-beat{0%,100%{transform:scaleX(1) skewY(-3deg)}50%{transform:scaleX(.77) skewY(5deg)}}@keyframes fin-beat{0%,100%{transform:scaleY(1) rotate(-6deg)}50%{transform:scaleY(.65) rotate(9deg)}}@keyframes gill-breathe{50%{opacity:.45}}@keyframes submerged-swim{0%,100%{transform:translate(-50%,-50%) translate(-12px,3px) rotate(-3deg)}50%{transform:translate(-50%,-50%) translate(12px,-4px) rotate(2deg)}}@keyframes float-bob{0%,100%{transform:translate(420px,85px) rotate(-3deg)}50%{transform:translate(420px,88px) rotate(4deg)}}@keyframes surface-ripple{0%{width:22px;height:5px;opacity:.9}100%{width:73px;height:14px;opacity:0}}@keyframes water-glint{50%{opacity:.3;transform:translateX(15px)}}@keyframes water-drop{0%{opacity:0;transform:translate(0,0) scale(.4)}15%{opacity:1}60%{opacity:.8;transform:translate(var(--dx),var(--dy)) rotate(30deg)}100%{opacity:0;transform:translate(calc(var(--dx)*1.4),20px) rotate(80deg) scale(.4)}}@keyframes badge-in{to{opacity:1;transform:translate(-50%,0) scale(1)}}@keyframes plant-sway{50%{transform:rotate(5deg)}}@keyframes light-shift{50%{transform:translateX(25px);opacity:.55}}@keyframes tank-bubble{0%{transform:translate(0,0);opacity:0}10%{opacity:.65}90%{opacity:.6}100%{transform:translate(9px,-245px);opacity:0}}@keyframes mouth-munch{50%{transform:scaleY(.3);transform-origin:23px 64px}}@keyframes eat-pop{to{transform:translate(4px,-22px) scale(1.5);opacity:0}}@keyframes feeding-ripple{10%{opacity:.8}100%{width:85px;height:15px;transform:translate(-35px,-5px);opacity:0}}@media(max-width:540px){.fishing-pond{height:215px}.aquarium{height:245px}.feeding-controls{gap:10px;flex-wrap:wrap}.feeding-controls .primary{font-size:13px}.tank-heading{font-size:20px}.tank-help{font-size:11px}.fishing-pond p{font-size:11px;left:7px;right:7px}.catch-badge{font-size:11px;top:10%}}@media(prefers-reduced-motion:reduce){.fish-tail,.fish-fin,.fish-gill,.pond-water i,.surface-ring,.fishing-pond:not(.catch-sequence) .real-bobber,.tank-light,.water-plant,.tank-bubbles i,.munching .fish-mouth-open,.dropping .tank-ripple,.eat-bubble,.splashing .splash i,.landed .catch-badge{animation:none!important}.landed .catch-badge{opacity:1;transform:translate(-50%,0)}.fish-heading{transition:none}.fishing-pond .swimming-fish{animation:none}}
.catch-badge{left:25%;top:63%}@media(max-width:540px){.catch-badge{left:28%;top:65%}}
.shared-collection{padding:27px 30px;background:#f1f8f2;margin-top:30px}.shared-collection .section-heading{margin-bottom:10px}.shared-collection .section-heading b{font-size:17px;white-space:nowrap}.shared-aquarium{height:450px;border-width:7px;border-radius:22px;margin-top:22px;background:linear-gradient(#ceeee5 0,#8bcfd0 9%,#509db0 60%,#316d8e 100%)}.shared-aquarium .tank-floor{height:56px;bottom:-15px}.shared-aquarium .plant-a{height:140px;left:25px}.shared-aquarium .plant-b{height:120px;right:42px}.shared-aquarium .plant-c{left:52%;height:63px;opacity:.65;z-index:0}.shared-aquarium .tank-bubbles i{animation-duration:9s}.shared-aquarium .tank-corner-label{position:absolute;right:18px;bottom:18px;font-size:9px;letter-spacing:2px;color:#ebf9e2ab;pointer-events:none;z-index:7}.fish-roster{display:flex;gap:8px 12px;flex-wrap:wrap;margin-top:20px}.fish-roster>span{display:inline-flex;align-items:center;gap:6px;background:#e0ede6;padding:6px 11px;border-radius:18px;font-size:11px}.fish-roster i{width:9px;height:9px;border-radius:50%;display:block}.shared-collection .feeding-controls{margin-top:20px}.shared-collection .feeding-controls .primary{padding:15px 24px}.shared-collection .tank-status{margin-top:15px;min-height:22px}.empty-tank{position:absolute;left:10%;right:10%;top:50%;transform:translateY(-50%);text-align:center;color:#f7fff5;z-index:7;background:#235e703d;border-radius:18px;padding:22px 15px}.empty-tank>span{display:block;font-size:38px;margin-bottom:9px}.empty-tank>strong{font-size:21px}.empty-tank p{font-size:13px;line-height:1.9}.empty-tank .primary{margin-top:5px;font-size:13px;background:#fff0ca;color:#3e5d5d;box-shadow:0 4px 0 #c7ad7e}.shared-collection .primary:disabled{cursor:default}.big-tank-view .shared-aquarium{height:clamp(420px,60vh,650px)}.big-tank-view .collection{margin-top:0}.shared-aquarium .tank-bubbles i{animation-name:shared-bubble}@keyframes shared-bubble{0%{transform:translate(0,0);opacity:0}10%{opacity:.65}90%{opacity:.6}100%{transform:translate(12px,-620px);opacity:0}}@media(max-width:800px){.shared-collection{padding:22px}.shared-aquarium{height:390px}}@media(max-width:540px){nav{gap:3px}.nav{padding:9px 12px}.shared-collection{padding:18px 13px;border-radius:18px}.shared-collection .section-heading{align-items:center;gap:8px}.shared-collection .section-heading h2{font-size:18px}.shared-collection .section-heading small{font-size:10px}.shared-collection .section-heading b{font-size:13px}.shared-collection>p{font-size:11px}.shared-aquarium{height:365px;border-width:4px;border-radius:17px;margin-top:16px}.big-tank-view .shared-aquarium{height:460px}.shared-aquarium .plant-a{height:90px;left:12px}.shared-aquarium .plant-b{height:80px;right:18px}.shared-aquarium .plant-c{height:50px}.shared-collection .feeding-controls .primary{padding:13px 16px;font-size:12px}.fish-roster{gap:6px}.fish-roster>span{font-size:10px;padding:5px 8px}.empty-tank{left:5%;right:5%;padding:20px 8px}.empty-tank>strong{font-size:17px}.empty-tank p{font-size:11px}.shared-aquarium .tank-corner-label{font-size:7px;right:10px;letter-spacing:1px}.big-tank-view .book-head h1{font-size:27px}}
.auto-flow{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);width:min(740px,calc(100% - 32px));background:#f3fbf4f5;border:1px solid #9bc6bd;border-radius:17px;box-shadow:0 9px 35px #204d5a24;backdrop-filter:blur(10px);padding:14px 17px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;z-index:25}.flow-message{display:block;font-size:13px;line-height:1.8}.auto-flow small{display:block;color:#68877d;font-size:11px;line-height:1.6}.auto-flow .secondary{padding:10px 14px;font-size:12px;white-space:nowrap;background:#fffdf2}.flow-meter{position:absolute;bottom:0;left:12px;right:12px;height:3px;border-radius:3px;overflow:hidden;background:#c8dcd0}.flow-meter span{display:block;width:100%;height:100%;background:#5b9d8a;transform-origin:left center}.auto-flow.paused .flow-meter{opacity:.3}.game:has(.auto-flow:not([hidden])){padding-bottom:110px}.swim-transition{position:fixed;inset:0;z-index:60;overflow:hidden;pointer-events:auto;isolation:isolate;background:#61b8bd00;transition:opacity .48s ease}.flow-sea{position:absolute;inset:0;background:linear-gradient(135deg,#c0e9da,#78c4c6 55%,#8cc9c3);animation:sea-arrive .35s ease-out both}.flow-sea:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(114deg,transparent 0 60px,#f6fff91c 80px,transparent 150px)}.swim-transition p{position:absolute;left:15px;right:15px;bottom:16%;text-align:center;color:#164d60;font-size:18px;font-weight:700;letter-spacing:2px;animation:guide-words .3s ease-out both}.guide-school{position:absolute;inset:0}.guide-fish{position:absolute;left:-200px;top:var(--y);width:var(--size);filter:drop-shadow(0 8px 4px #13566b22);animation:guide-swim 1s cubic-bezier(.24,.45,.58,1) calc(var(--i)*.03s) both}.guide-fish .fish-art{max-width:none;transform:scaleX(-1)}.guide-fish .fish-tail{animation-duration:.3s}.swim-transition.revealing{opacity:0;pointer-events:none}@keyframes sea-arrive{from{opacity:0;transform:translateX(-7%)}to{opacity:1;transform:translateX(0)}}@keyframes guide-swim{0%{transform:translateX(-15vw) translateY(10px) rotate(5deg)}45%{transform:translateX(65vw) translateY(-12px) rotate(-3deg)}100%{transform:translateX(calc(100vw + 400px)) translateY(7px) rotate(3deg)}}@keyframes guide-words{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@media(max-width:540px){.auto-flow{bottom:12px;padding:11px 12px;gap:9px}.flow-message{font-size:11px}.auto-flow small{font-size:10px}.auto-flow .secondary{font-size:11px;padding:10px 11px}.swim-transition p{font-size:14px;letter-spacing:1px;bottom:14%}.guide-fish{width:calc(var(--size)*.72)}}@media(prefers-reduced-motion:reduce){.flow-sea,.guide-fish,.swim-transition p{animation:none}.guide-fish{left:calc(var(--i)*13%);opacity:.5}.swim-transition{transition:opacity .12s ease}}
.food-wallet{display:inline-flex;align-items:center;gap:7px;border:1px solid #e5c98b;background:#fff2d0;color:#6a562d;padding:8px 13px;border-radius:25px;font-size:12px;white-space:nowrap}.food-wallet strong{font-size:19px}.game-wallet{display:flex;align-items:center;justify-content:space-between;margin:5px 0 16px;gap:12px}.game-wallet>small{font-size:11px;color:var(--muted)}.care-loop{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:15px;background:#e5efe3;padding:18px 22px;margin:24px 0 16px;font-size:13px}.care-loop>b{color:#89a88f}.hero .secondary{margin-left:10px;margin-top:14px;font-size:13px}.growth-heading{display:flex;justify-content:space-between;font-size:18px;align-items:center;margin:25px 0 15px}.growth-heading small{font-size:12px;color:var(--muted)}.growth-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.growth-card{display:flex;align-items:center;gap:13px;background:#fffdf3;border:1px solid #d4e3d6;border-radius:15px;padding:15px;min-width:0}.growth-fish{width:72px;flex-shrink:0}.growth-card>div:last-child{flex:1;min-width:0}.growth-card strong{display:block;font-size:12px;line-height:1.8}.growth-card [data-growth-name]{display:block;font-size:11px;color:#527f72;margin:3px 0}.growth-card small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.growth-bar{height:6px;border-radius:4px;overflow:hidden;background:#dfe8d9}.growth-bar>span{display:block;height:100%;background:#82b683;transition:width .5s}.study-food{margin-top:18px;font-size:13px;padding:11px 18px}.tank-fish{transition:width .65s ease}.tank-fish.grown-up{filter:drop-shadow(0 0 8px #ffe99cb0) drop-shadow(0 6px 4px #17475a36)}.tank-fish.growth-pop .fish-art{animation:grow-shine .7s ease-out 2}.food-earned-note{margin-top:15px;padding:11px 18px;border:1px solid #e3c27e;border-radius:13px;background:#fff1cb;color:#7b5a23;font-weight:700;font-size:15px}.food-reward-pond .food-prize{position:absolute;left:26%;top:13%;text-align:center;opacity:0;transform:translateY(18px) scale(.6);z-index:5}.food-bag-art{background:#e9c077;border:3px solid #aa7c39;color:#805d30;border-radius:11px 11px 18px 18px;width:62px;height:62px;display:grid;place-items:center;font-size:34px;letter-spacing:1px;line-height:1;box-shadow:inset 0 8px 0 #f8dda2;transform:rotate(-6deg);margin:12px auto}.food-prize strong{display:block;color:#76552b;background:#fff0c6;padding:4px 10px;border-radius:16px;font-size:15px}.food-reward-pond.food-earned .food-prize{animation:food-arrive .85s ease-out forwards}.food-reward-pond.food-earned .swimming-fish{animation:happy-fish 1.2s ease-in-out both}.food-reward-pond .swimming-fish{left:65%;top:58%;width:140px}.reward-card>.primary{display:flex;margin:20px auto 4px}.shared-collection .section-heading>.food-wallet{font-size:11px}.shared-collection .section-heading>.food-wallet strong{font-size:18px}@keyframes food-arrive{0%{opacity:0;transform:translateY(28px) scale(.6) rotate(-12deg)}65%{opacity:1;transform:translateY(-5px) scale(1.1) rotate(5deg)}100%{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes happy-fish{0%,100%{transform:translate(-50%,-50%) rotate(0)}35%{transform:translate(-50%,-70%) rotate(-9deg)}65%{transform:translate(-50%,-45%) rotate(7deg)}}@keyframes grow-shine{50%{filter:drop-shadow(0 0 12px #fff2a5);transform:scale(1.09)}}@media(max-width:800px){.growth-grid{grid-template-columns:1fr 1fr}.care-loop{flex-wrap:wrap;justify-content:center;font-size:12px}}@media(max-width:540px){.hero .secondary{margin-left:0;margin-top:13px;display:block;width:236px}.hero h1{font-size:27px}.care-loop{font-size:11px;gap:8px;padding:16px 10px}.care-loop .food-wallet{margin-top:6px}.food-wallet{padding:7px 10px;gap:5px;font-size:11px}.food-wallet strong{font-size:17px}.growth-grid{grid-template-columns:1fr}.growth-card{padding:13px}.growth-card strong{font-size:14px}.growth-card [data-growth-name]{font-size:12px}.growth-card small{font-size:11px}.growth-fish{width:80px}.shared-collection .section-heading{align-items:flex-start;flex-wrap:wrap}.food-earned-note{font-size:13px}.food-reward-pond .swimming-fish{width:110px;left:70%}.food-reward-pond .food-prize{left:15%;top:10%}.study-food{font-size:12px;width:100%}.game-wallet>small{font-size:10px}}@media(prefers-reduced-motion:reduce){.food-reward-pond.food-earned .food-prize{animation:none;opacity:1;transform:none}.food-reward-pond.food-earned .swimming-fish,.tank-fish.growth-pop .fish-art{animation:none}.tank-fish,.growth-bar>span{transition:none}}
