.swimming-fish{position:absolute;top:0;left:0;width:0;height:0;transform:translateZ(0);pointer-events:none;will-change:transform;backface-visibility:hidden;opacity:0}.swimming-fish.fish-debut .fish-position-anchor{animation:fishDebutReveal 1.1s cubic-bezier(.22,1,.36,1) 2.4s both}@keyframes fishDebutReveal{0%{opacity:0;filter:blur(8px) brightness(1.4);transform:translate(-50%,-50%) scale(.55)}to{opacity:1;filter:blur(0) brightness(1);transform:translate(-50%,-50%) scale(1)}}.fish-position-anchor{position:absolute;left:0;top:0;transform:translate(-50%,-50%)}.swimming-fish.feeding{filter:drop-shadow(0 2px 4px rgba(0,40,80,.4)) drop-shadow(0 0 12px rgba(255,220,120,.35))}.swimming-fish.feeding.eating .fish-body{animation:fishMunch .45s ease-in-out infinite}.swimming-fish.swim-resume{animation-fill-mode:both}.swimming-fish.swim-resume .fish-flip{animation:none}.swimming-fish.swim-handoff{animation-fill-mode:both}@keyframes fishMunch{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-3px) rotate(-4deg)}75%{transform:translateY(2px) rotate(4deg)}}.fish-flip{position:relative;transform-origin:center center;transform:scaleX(calc(var(--source-facing, 1) * var(--facing, 1)));transition:transform .24s cubic-bezier(.22,1,.36,1)}.swimming-fish:not(.feeding) .fish-flip{animation:none}.swimming-fish.swim-path-wall:not(.feeding) .fish-flip{animation:none}.swimming-fish.swim-path-wall{animation:none}@keyframes swimFacingWall{0%,70.2%{transform:scaleX(var(--source-facing, 1))}71.4%,99.9%{transform:scaleX(calc(var(--source-facing, 1) * -1))}to{transform:scaleX(var(--source-facing, 1))}}.swimming-fish.feeding .fish-flip{animation:none;transition:transform .2s ease-out;transform:scaleX(calc(var(--source-facing, 1) * var(--facing, 1))) rotate(var(--feed-tilt, 0deg))}.fish-body{position:relative;z-index:2}.fish-wake{position:absolute;top:50%;width:112px;height:62px;opacity:.62;pointer-events:none;z-index:1;filter:blur(.4px)}.swimming-fish.feeding .fish-wake,.swimming-fish.eating .fish-wake{opacity:0}.fish-body-ripples{position:absolute;top:50%;left:50%;width:132%;height:92%;opacity:.42;pointer-events:none;transform:translate(-50%,-50%);z-index:1;filter:blur(.45px)}.swimming-fish.feeding .fish-body-ripples,.swimming-fish.eating .fish-body-ripples{opacity:0}.fish-body-ripples span{position:absolute;top:6%;right:3%;bottom:6%;left:3%;border-radius:55% 45% 50% 50%;background:radial-gradient(ellipse at center,transparent 58%,rgba(190,246,255,.24) 62%,rgba(190,246,255,.07) 70%,transparent 78%);animation:fishBodyRipplePulse 1.9s ease-in-out infinite}.fish-body-ripples span:nth-child(2){top:-3%;right:-8%;bottom:-3%;left:-8%;opacity:.7;animation-delay:.65s}.fish-wake-source-right{left:4%;transform:translate(-76%,-50%)}.fish-wake-source-left{right:4%;transform:translate(76%,-50%) scaleX(-1)}.fish-wake span{position:absolute;top:50%;left:50%;width:52px;height:26px;border-radius:55% 0 0 55%;background:radial-gradient(ellipse at 88% 50%,transparent 42%,rgba(187,245,255,.46) 45%,rgba(187,245,255,.06) 62%,transparent 74%),linear-gradient(90deg,rgba(187,245,255,.18),transparent 72%);transform-origin:center center;animation:fishWakePulse 1.45s ease-out infinite}.fish-wake span:nth-child(2){width:70px;height:34px;background:radial-gradient(ellipse at 88% 50%,transparent 43%,rgba(173,235,255,.34) 46%,rgba(173,235,255,.05) 64%,transparent 76%),linear-gradient(90deg,rgba(173,235,255,.13),transparent 72%);animation-delay:.28s}.fish-wake span:nth-child(3){width:88px;height:42px;background:radial-gradient(ellipse at 88% 50%,transparent 44%,rgba(214,252,255,.24) 47%,rgba(214,252,255,.04) 66%,transparent 78%),linear-gradient(90deg,rgba(214,252,255,.1),transparent 74%);animation-delay:.56s}.fish-3d-wrap{transform-origin:18% 50%;animation:bodyFlex var(--flex-period, 2.8s) ease-in-out infinite;animation-delay:var(--flex-delay, 0s);filter:brightness(1.14) saturate(1.25) contrast(1.06)}.fish-3d{position:relative;width:calc(120px * var(--fish-display-scale, 1));flex-shrink:0;animation:fish3dRock 5s ease-in-out infinite;animation-delay:var(--flex-delay, 0s)}.fish-3d-flat{height:auto;overflow:visible}.fish-flat-image{display:block;width:100%;height:auto;object-fit:contain;pointer-events:none}.fish-undulation-sizer{opacity:1}.fish-undulation-stack{position:absolute;top:0;right:0;bottom:0;left:0}.fish-undulation-slice{position:absolute;top:0;bottom:0;left:var(--slice-left);width:var(--slice-width);overflow:hidden;transform-origin:var(--slice-origin-x, center) center;animation:fishBodyUndulate var(--flex-period, 2.8s) ease-in-out infinite;animation-delay:calc(var(--flex-delay, 0s) + var(--wave-delay, 0s));will-change:transform;backface-visibility:hidden}.fish-undulation-front-body{animation-name:fishBodyFrontHold}.fish-undulation-rear-body{animation-name:fishRearBodyUndulate}.fish-undulation-tail{animation-name:fishTailUndulate}.fish-undulation-slice img{position:absolute;top:0;left:var(--sprite-offset);display:block;width:var(--sprite-width);height:100%;max-width:none;object-fit:fill;pointer-events:none}.fish-3d-stack{position:relative;width:100%;height:100%;transform-style:preserve-3d}.fish-3d-slice{position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--layers-url);background-repeat:no-repeat;background-size:calc(var(--layer-count) * 100%) 100%;transform:translateZ(var(--layer-z, 0px));transform-style:preserve-3d;backface-visibility:hidden;pointer-events:none}.fish-3d-slice-fallback img{display:block;width:100%;height:100%;object-fit:contain;opacity:1}.fish-credit{position:absolute;top:calc(50% + (var(--fish-display-scale, 1) * 40px));left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none}.fish-drawer-photo{width:calc(36px * var(--fish-display-scale, 1));height:calc(36px * var(--fish-display-scale, 1));border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px #ffffffb3,0 4px 10px #001e3c59}.fish-name-tag{position:static;top:auto;left:auto;transform:none;max-width:120px;overflow:hidden;text-overflow:ellipsis;background:none;color:#fff;font-size:12px;font-weight:700;line-height:1.2;padding:0;border-radius:0;white-space:nowrap;opacity:1;pointer-events:none;box-shadow:none;text-shadow:0 1px 2px rgba(0,30,60,.85),0 0 8px rgba(0,40,80,.45)}@keyframes swimFacing{0%,76.2%{transform:scaleX(var(--source-facing, 1))}77.4%,99%{transform:scaleX(calc(var(--source-facing, 1) * -1))}to{transform:scaleX(var(--source-facing, 1))}}@keyframes swimPath{0%{left:-24%;transform:translate(-50%,calc(-50% + var(--vy-start, 0vh))) scale(var(--size, 1))}10%{left:8%;transform:translate(-50%,calc(-50% + var(--vy-up, -12vh))) scale(var(--size, 1))}22%{left:22%;transform:translate(-50%,calc(-50% + var(--vy-down, 14vh))) scale(var(--size, 1))}34%{left:38%;transform:translate(-50%,calc(-50% + var(--vy-up2, -8vh))) scale(var(--size, 1))}46%{left:55%;transform:translate(-50%,calc(-50% + var(--vy-mid, 4vh))) scale(var(--size, 1))}58%{left:72%;transform:translate(-50%,calc(-50% + var(--vy-down2, 12vh))) scale(var(--size, 1))}68%{left:90%;transform:translate(-50%,calc(-50% + var(--vy-up, -12vh))) scale(var(--size, 1))}74%{left:124%;transform:translate(-50%,calc(-50% + var(--vy-start, 0vh))) scale(var(--size, 1))}78%{left:124%;transform:translate(-50%,calc(-50% + var(--vy-down, 14vh))) scale(var(--size, 1))}84%{left:82%;transform:translate(-50%,calc(-50% + var(--vy-up2, -8vh))) scale(var(--size, 1))}90%{left:58%;transform:translate(-50%,calc(-50% + var(--vy-down2, 12vh))) scale(var(--size, 1))}94%{left:35%;transform:translate(-50%,calc(-50% + var(--vy-mid, 4vh))) scale(var(--size, 1))}97%{left:12%;transform:translate(-50%,calc(-50% + var(--vy-up, -12vh))) scale(var(--size, 1))}99%{left:-24%;transform:translate(-50%,calc(-50% + var(--vy-down2, 12vh))) scale(var(--size, 1))}to{left:-24%;transform:translate(-50%,calc(-50% + var(--vy-start, 0vh))) scale(var(--size, 1))}}@keyframes bodyFlex{0%,to{transform:rotate(0) skewY(0)}25%{transform:rotate(-3deg) skewY(-2deg)}75%{transform:rotate(3deg) skewY(2deg)}}@keyframes fishWakePulse{0%{opacity:0;transform:translate(-8%,-50%)}18%{opacity:.62}to{opacity:0;transform:translate(-72%,-50%)}}@keyframes fishBodyRipplePulse{0%,to{opacity:.14}45%{opacity:.5}}@keyframes fishBodyFrontHold{0%,to{transform:translate(0) rotate(0) skew(0)}}@keyframes fishRearBodyUndulate{0%,to{transform:rotate(0) skew(0)}25%{transform:rotate(var(--wave-rotate-neg)) skew(var(--wave-skew-neg))}50%{transform:rotate(0) skew(0)}75%{transform:rotate(var(--wave-rotate)) skew(var(--wave-skew))}}@keyframes fishTailUndulate{0%,to{transform:rotate(0) skew(0)}25%{transform:rotate(var(--wave-rotate)) skew(var(--wave-skew))}50%{transform:rotate(0) skew(0)}75%{transform:rotate(var(--wave-rotate-neg)) skew(var(--wave-skew-neg))}}@keyframes fish3dRock{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}.falling-seeds-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none;overflow:hidden}.falling-seed{position:absolute;top:var(--seed-start-y, 8%);left:var(--seed-start-x, 50%);transform:translate(-50%);animation:pelletFall 1.6s ease-in forwards;animation-delay:var(--fall-delay, 0s)}.seed-dot{display:block;width:var(--seed-size, 7px);height:calc(var(--seed-size, 7px) * .72);border-radius:45% 45% 50% 50%;background:radial-gradient(circle at 32% 28%,#fff9db,#ffd43b 45%,#f59f00 78%,#e67700);box-shadow:0 1px 2px #00000040,inset 0 -1px 1px #a63e1259;transform:rotate(var(--seed-rot, 0deg))}.falling-seed.eaten{animation:seedFadeOut .5s ease-out forwards}@keyframes pelletFall{0%{left:var(--seed-start-x, 50%);top:var(--seed-start-y, 8%);opacity:0;transform:translate(-50%) scale(.5) rotate(0)}10%{opacity:1}60%{left:var(--fade-x, 50%);top:var(--fade-y, 35%);opacity:1;transform:translate(-50%) scale(1) rotate(180deg)}to{left:var(--fade-x, 50%);top:var(--fade-y, 35%);opacity:0;transform:translate(-50%) scale(.65) rotate(260deg)}}@keyframes seedFadeOut{0%{transform:translate(-50%) scale(1);opacity:1}to{transform:translate(-50%) scale(.4);opacity:0}}.feed-sacks-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:25;overflow:visible;pointer-events:none}.feed-sack{position:absolute;top:-10%;left:50%;transform:translate(-50%);padding:0;border:none;background:none;cursor:pointer;pointer-events:auto;animation:sackFall var(--fall-duration, 14s) linear var(--fall-delay, 0s) forwards;filter:drop-shadow(0 8px 16px rgba(0,0,0,.35));touch-action:manipulation;z-index:1}.feed-sack.frozen{animation:none}.feed-sack:not(.opened):hover .sack-body{transform:scale(1.06) rotate(-2deg)}.sack-body{position:relative;display:block;width:72px;height:88px;transition:transform .2s ease;animation:sackSway 2.4s ease-in-out infinite}.sack-neck{position:absolute;top:0;left:50%;transform:translate(-50%);width:34px;height:16px;background:linear-gradient(180deg,#e8c89a,#c9a06a);border-radius:45% 45% 12% 12%;border:2px solid #8b5e34;border-bottom:none;z-index:2;box-shadow:inset 0 2px #ffffff59}.sack-tie{position:absolute;top:12px;left:50%;transform:translate(-50%);width:22px;height:8px;background:linear-gradient(180deg,#d9480f,#a63e12);border-radius:4px;z-index:4;box-shadow:0 1px #ffffff40,0 2px 4px #0003}.sack-tie:before,.sack-tie:after{content:"";position:absolute;top:6px;width:10px;height:14px;border:2px solid #d9480f;border-radius:0 0 50% 50%;border-top:none}.sack-tie:before{left:-8px;transform:rotate(-28deg)}.sack-tie:after{right:-8px;transform:rotate(28deg)}.sack-fill{position:absolute;top:18px;left:50%;transform:translate(-50%);width:62px;height:64px;background:radial-gradient(ellipse at 30% 25%,rgba(255,255,255,.45),transparent 55%),linear-gradient(165deg,#f4d9a8,#e0b87a,#c9956a 70%,#a67c52);border-radius:12% 12% 48% 48%;border:2.5px solid #8b5e34;z-index:1;box-shadow:inset 0 -8px 16px #8b5e3440,inset 0 4px 8px #fff3}.sack-fill:before{content:"";position:absolute;top:8px;right:10px;bottom:14px;left:10px;border-radius:inherit;background:repeating-linear-gradient(-35deg,transparent,transparent 3px,rgba(139,94,52,.08) 3px,rgba(139,94,52,.08) 5px);pointer-events:none}.sack-fill:after{content:"";position:absolute;bottom:10px;left:50%;transform:translate(-50%);width:70%;height:18px;border-radius:50%;background:radial-gradient(ellipse,rgba(255,220,120,.55),transparent 70%)}.sack-label{position:absolute;top:36px;left:50%;transform:translate(-50%);z-index:3;pointer-events:none;display:flex;gap:3px;align-items:center}.sack-pellet{display:block;width:7px;height:5px;border-radius:45%;background:radial-gradient(circle at 35% 30%,#ffe066,#f59f00 70%,#e67700);box-shadow:0 1px 2px #0003}.sack-pellet:nth-child(2){width:8px;height:6px;transform:translateY(-2px)}.sack-pellet:nth-child(3){width:6px;height:4px;transform:translateY(1px)}.feed-sack.opened .sack-body{animation:sackOpen .5s ease-out forwards}.feed-sack.opened .sack-neck,.feed-sack.opened .sack-tie{animation:sackTopPop .4s ease-out forwards}.sack-burst{position:absolute;top:42%;left:50%;width:56px;height:56px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,212,59,.85) 0%,rgba(255,146,43,.35) 45%,transparent 72%);animation:sackBurst .55s ease-out forwards;pointer-events:none}.sack-burst:after{content:"🐟";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:1.1rem;opacity:0;animation:burstSpark .55s ease-out forwards}@keyframes sackFall{0%{top:-10%;transform:translate(-50%) rotate(-3deg)}25%{transform:translate(-50%) rotate(2deg)}50%{transform:translate(-50%) rotate(-2deg)}75%{transform:translate(-50%) rotate(1deg)}to{top:108%;transform:translate(-50%) rotate(0)}}@keyframes sackSway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@keyframes sackOpen{0%{transform:scale(1)}35%{transform:scale(1.12,.88)}to{transform:scale(1.02,.75);opacity:.35}}@keyframes sackTopPop{0%{transform:translate(-50%) translateY(0);opacity:1}to{transform:translate(-50%) translateY(-14px) scale(1.1);opacity:0}}@keyframes sackBurst{0%{transform:translate(-50%,-50%) scale(.2);opacity:.95}to{transform:translate(-50%,-50%) scale(1.2);opacity:0}}@keyframes burstSpark{0%{opacity:0;transform:scale(.5)}30%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.3)}}.falling-dolls-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:42;overflow:hidden;pointer-events:none}.falling-doll{position:absolute;top:-18%;width:clamp(72px,8vw,150px);transform:translate(-50%);animation:dollFall var(--doll-duration, 18.6s) cubic-bezier(.24,.74,.28,1) forwards;filter:drop-shadow(0 12px 18px rgba(0,24,48,.42)) drop-shadow(0 0 14px rgba(138,220,255,.25))}.falling-doll img{display:block;width:100%;height:auto;object-fit:contain;animation:dollSway 1.15s ease-in-out infinite}.falling-doll-splash{position:absolute;left:50%;bottom:0;width:130%;height:22px;border-radius:50%;transform:translate(-50%,50%) scale(0);background:radial-gradient(ellipse,rgba(190,245,255,.8),rgba(70,180,220,.25) 45%,transparent 70%);opacity:0;animation:dollSplash var(--doll-duration, 18.6s) ease-out forwards}@keyframes dollFall{0%{top:-18%;transform:translate(-50%) rotate(-5deg) scale(.92)}35%{transform:translate(-50%) rotate(5deg) scale(1)}70%{transform:translate(-50%) rotate(-3deg) scale(1.03)}to{top:118%;transform:translate(-50%) rotate(1deg) scale(.96)}}@keyframes dollSway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@keyframes dollSplash{0%,86%{opacity:0;transform:translate(-50%,50%) scale(0)}92%{opacity:.9;transform:translate(-50%,50%) scale(1)}to{opacity:0;transform:translate(-50%,50%) scale(1.45)}}.fish-entrance{position:absolute;top:0;right:0;bottom:0;left:0;z-index:180;pointer-events:none;overflow:hidden}.fish-entrance-veil{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 70% 55% at 50% 18%,rgba(180,240,255,.35),transparent 62%),radial-gradient(ellipse 90% 70% at 50% 100%,rgba(4,40,70,.45),transparent 55%),linear-gradient(180deg,#083c5f26,#04233c8c);animation:entranceVeil 3.8s ease forwards}.fish-entrance-caustics{position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;background:radial-gradient(ellipse 20% 12% at 30% 40%,rgba(255,255,255,.14),transparent 60%),radial-gradient(ellipse 18% 10% at 70% 55%,rgba(180,240,255,.12),transparent 60%),radial-gradient(ellipse 22% 14% at 48% 70%,rgba(255,255,255,.1),transparent 60%);mix-blend-mode:soft-light;animation:entranceCaustics 3.8s ease-in-out forwards}.fish-entrance-rays{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(118deg,transparent 42%,rgba(255,245,200,.12) 46%,transparent 50%),linear-gradient(102deg,transparent 48%,rgba(190,240,255,.1) 52%,transparent 56%);animation:entranceRays 3.8s ease forwards}.fish-entrance-stage{position:absolute;left:50%;top:0;width:min(420px,70vw);height:100%;transform:translate(-50%)}.fish-entrance-surface{position:absolute;top:10%;left:50%;width:160%;height:28px;transform:translate(-50%)}.fish-entrance-surface span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(ellipse,rgba(220,250,255,.55),rgba(120,210,240,.15) 45%,transparent 70%);opacity:0;animation:entranceSurface 3.8s ease forwards}.fish-entrance-surface span:nth-child(2){animation-delay:.08s;transform:scaleX(.85)}.fish-entrance-surface span:nth-child(3){animation-delay:.16s;transform:scaleX(.7)}.fish-entrance-diver{position:absolute;left:50%;top:-18%;width:clamp(110px,18vw,200px);transform:translate(-50%);animation:entranceDive 3.8s cubic-bezier(.22,.7,.2,1) forwards;filter:drop-shadow(0 18px 28px rgba(0,30,60,.45)) drop-shadow(0 0 24px rgba(140,230,255,.35))}.fish-entrance-with-drawer .fish-entrance-diver{left:58%}.fish-entrance-drawer{position:absolute;left:28%;top:-12%;width:clamp(88px,12vw,140px);aspect-ratio:1;transform:translate(-50%);border-radius:50%;overflow:hidden;box-shadow:0 0 0 4px #ffffff8c,0 16px 32px #001e3c73,0 0 28px #8ce6ff59;animation:entranceDrawer 3.8s cubic-bezier(.22,.7,.2,1) forwards}.fish-entrance-drawer img{display:block;width:100%;height:100%;object-fit:cover}.fish-entrance-diver img{display:block;width:100%;height:auto;object-fit:contain}.fish-entrance-trail{position:absolute;left:50%;top:20%;width:2px;height:80%;transform:translate(-50%);pointer-events:none}.fish-entrance-trail i{position:absolute;left:50%;width:7px;height:7px;border-radius:50%;background:#d2f5ffb3;transform:translate(-50%);opacity:0;animation:entranceTrailBubble 3.8s ease-out forwards}.fish-entrance-trail i:nth-child(1){top:10%;animation-delay:.35s}.fish-entrance-trail i:nth-child(2){top:28%;animation-delay:.5s;width:5px;height:5px}.fish-entrance-trail i:nth-child(3){top:46%;animation-delay:.65s}.fish-entrance-trail i:nth-child(4){top:64%;animation-delay:.8s;width:4px;height:4px}.fish-entrance-trail i:nth-child(5){top:80%;animation-delay:.95s;width:6px;height:6px}.fish-entrance-splash{position:absolute;left:50%;top:14%;width:180px;height:180px;transform:translate(-50%,-50%);pointer-events:none}.fish-entrance-splash span{position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.95),rgba(150,220,245,.4) 55%,transparent 70%);opacity:0;animation:entranceSplashDrop 3.8s ease-out forwards}.fish-entrance-splash span:nth-child(1){--sx: -54px;--sy: -28px;animation-delay:.42s}.fish-entrance-splash span:nth-child(2){--sx: 48px;--sy: -34px;animation-delay:.46s}.fish-entrance-splash span:nth-child(3){--sx: -28px;--sy: 18px;animation-delay:.5s;width:10px;height:10px}.fish-entrance-splash span:nth-child(4){--sx: 36px;--sy: 22px;animation-delay:.54s;width:11px;height:11px}.fish-entrance-splash span:nth-child(5){--sx: 0px;--sy: -48px;animation-delay:.48s;width:16px;height:16px}.fish-entrance-bubbles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.fish-entrance-bubbles i{position:absolute;bottom:18%;width:8px;height:8px;border-radius:50%;border:1.5px solid rgba(210,245,255,.55);background:#beebff26;opacity:0;animation:entranceRise 3.8s ease-out forwards}.fish-entrance-bubbles i:nth-child(1){left:28%;animation-delay:.7s}.fish-entrance-bubbles i:nth-child(2){left:38%;width:5px;height:5px;animation-delay:.95s}.fish-entrance-bubbles i:nth-child(3){left:48%;width:10px;height:10px;animation-delay:.8s}.fish-entrance-bubbles i:nth-child(4){left:58%;animation-delay:1.1s}.fish-entrance-bubbles i:nth-child(5){left:66%;width:6px;height:6px;animation-delay:.85s}.fish-entrance-bubbles i:nth-child(6){left:42%;width:4px;height:4px;animation-delay:1.25s}.fish-entrance-bubbles i:nth-child(7){left:72%;animation-delay:1.05s}.fish-entrance-bubbles i:nth-child(8){left:22%;width:7px;height:7px;animation-delay:1.15s}.fish-entrance-name{position:absolute;left:50%;top:58%;transform:translate(-50%);margin:0;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f2fbff;font-family:Segoe UI,Trebuchet MS,sans-serif;font-size:clamp(1.35rem,3.4vw,2.2rem);font-weight:700;letter-spacing:.04em;text-shadow:0 2px 12px rgba(0,40,70,.7),0 0 28px rgba(120,210,255,.45);opacity:0;animation:entranceName 3.8s ease forwards}@keyframes entranceVeil{0%{opacity:0}12%{opacity:1}70%{opacity:1}to{opacity:0}}@keyframes entranceCaustics{0%{opacity:0;transform:translateY(0) scale(1)}20%{opacity:1}to{opacity:0;transform:translateY(4%) scale(1.06)}}@keyframes entranceRays{0%{opacity:0}25%{opacity:1}to{opacity:0}}@keyframes entranceSurface{0%,12%{opacity:0;transform:scaleX(.4) scaleY(.4)}22%{opacity:1;transform:scaleX(1) scaleY(1)}55%{opacity:.55;transform:scaleX(1.35) scaleY(.7)}to{opacity:0;transform:scaleX(1.7) scaleY(.35)}}@keyframes entranceDive{0%{top:-18%;transform:translate(-50%) rotate(-12deg) scale(.55);opacity:0}10%{opacity:1}28%{top:16%;transform:translate(-50%) rotate(8deg) scale(1.08)}48%{top:42%;transform:translate(-46%) rotate(-4deg) scale(1)}72%{top:52%;transform:translate(-50%) rotate(2deg) scale(.92);opacity:1}to{top:54%;transform:translate(-50%) rotate(0) scale(.55);opacity:0}}@keyframes entranceDrawer{0%{top:-12%;transform:translate(-50%) rotate(8deg) scale(.4);opacity:0}12%{opacity:1}30%{top:20%;transform:translate(-50%) rotate(-4deg) scale(1.05)}55%{top:44%;transform:translate(-50%) rotate(2deg) scale(1)}78%{top:52%;transform:translate(-50%) rotate(0) scale(.92);opacity:1}to{top:56%;transform:translate(-50%) scale(.55);opacity:0}}@keyframes entranceTrailBubble{0%,20%{opacity:0;transform:translate(-50%) scale(.4)}35%{opacity:.9;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-40px) scale(.3)}}@keyframes entranceSplashDrop{0%,12%{opacity:0;transform:translate(0) scale(.2)}20%{opacity:1;transform:translate(calc(var(--sx) * .35),calc(var(--sy) * .35)) scale(1)}55%{opacity:.4;transform:translate(var(--sx),var(--sy)) scale(.55)}to{opacity:0;transform:translate(calc(var(--sx) * 1.2),calc(var(--sy) * 1.35)) scale(.2)}}@keyframes entranceRise{0%,18%{opacity:0;transform:translateY(30px) scale(.5)}35%{opacity:.9}to{opacity:0;transform:translateY(-120px) scale(1.1)}}@keyframes entranceName{0%,35%{opacity:0;transform:translate(-50%,18px);filter:blur(6px)}48%{opacity:1;transform:translate(-50%);filter:blur(0)}78%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-10px)}}.aquarium-bg-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow:hidden;pointer-events:none}.aquarium-fg-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;overflow:hidden;pointer-events:none}.aquarium-bg-image-wrap{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.aquarium-bg-image{width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block;animation:bgSlowDrift 40s ease-in-out infinite alternate;pointer-events:none}.aquarium-bg-video{background:#062d45}.aquarium-wall-active .aquarium-bg-image{object-fit:cover;object-position:center 38%;animation:bgWallPan 60s ease-in-out infinite alternate}@keyframes bgWallPan{0%{transform:scale(1.02) translate(0)}to{transform:scale(1.04) translate(-1.2%)}}.aquarium-scene-items{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;overflow:visible}.scene-decor-wrap,.aquarium-scene-item{position:absolute;transform:translate(-50%,-50%);pointer-events:none}.scene-decor-motion{position:relative;transform-origin:center center}.scene-decor-item{display:block;max-width:28vw;max-height:35vh;object-fit:contain}.scene-decor-video-source{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.scene-decor-video{display:block;max-width:28vw;max-height:35vh;width:auto;height:auto;object-fit:contain}.scene-decor-wrap.selected .scene-decor-item,.scene-decor-wrap.selected .scene-decor-video{outline:2px dashed #ffe66d;outline-offset:4px}.scene-item-motion{animation-duration:var(--motion-speed, 4s);animation-delay:var(--motion-delay, 0s);animation-timing-function:ease-in-out;animation-iteration-count:infinite}.scene-item-motion-float{animation-name:itemFloat}.scene-item-motion-sway{animation-name:itemSway;transform-origin:center bottom}.scene-item-motion-pulse{transform-origin:center center}.scene-item-motion-drift{animation-name:itemDrift}.scene-item-motion-bob{animation-name:itemBob}.scene-item-motion-pulse{animation-name:itemPulse}.scene-item-motion-rise{animation-name:itemRise}.scene-item-motion-cross{animation-name:itemCross;animation-timing-function:linear}.scene-decor-video-wrap{position:relative;display:inline-block;line-height:0;min-width:48px;min-height:48px;contain:layout style paint;isolation:isolate}.scene-decor-video-source{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;opacity:.35;pointer-events:none}.scene-decor-video-source-ready{opacity:0}.scene-decor-video-loading{opacity:.15;min-width:80px;min-height:60px;background:#00285026}@keyframes itemCross{0%{transform:translate(calc(var(--motion-cross-x, 18vw) * -.5))}50%{transform:translate(calc(var(--motion-cross-x, 18vw) * .5))}to{transform:translate(calc(var(--motion-cross-x, 18vw) * -.5))}}@keyframes itemFloat{0%,to{transform:translateY(0)}50%{transform:translateY(var(--motion-float-y, -18px))}}@keyframes itemSway{0%,to{transform:rotate(var(--motion-sway-neg, -5deg))}50%{transform:rotate(var(--motion-sway-pos, 5deg))}}@keyframes itemDrift{0%,to{transform:translate(0)}50%{transform:translate(var(--motion-drift-x, 24px))}}@keyframes itemBob{0%,to{transform:translateY(0)}35%{transform:translateY(var(--motion-bob-high, -10px))}65%{transform:translateY(var(--motion-bob-low, -6px))}}@keyframes itemPulse{0%,to{transform:scale(1)}50%{transform:scale(var(--motion-pulse-scale, 1.08))}}@keyframes itemRise{0%{transform:translateY(0);opacity:var(--item-opacity, 1)}70%{transform:translateY(var(--motion-rise-mid, -40px));opacity:var(--item-opacity, 1)}to{transform:translateY(var(--motion-rise-end, -55px));opacity:0}}@keyframes bgSlowDrift{0%{transform:scale(1.04) translate(0)}to{transform:scale(1.06) translate(-1.5%)}}.gen-ocean{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#4ec5e8,#2a9fd4 12%,#1a7aaa 28%,#0f5f8a,#0a4a6e 72%,#062d45)}.gen-ocean-deep{background:linear-gradient(180deg,#1a6a8a,#0d4a6e 30%,#062d45 70%,#031a2a);filter:brightness(.5)}.gen-cliff{position:absolute;bottom:18%;background:linear-gradient(180deg,#0a2535,#051520);border-radius:60% 60% 0 0/30% 30% 0 0;opacity:.7;animation:cliffDrift 24s ease-in-out infinite}.gen-coral-far{position:absolute;bottom:20%;opacity:.35;filter:blur(2px)}.gen-coral-far.gen-coral-brain{width:50px;height:35px;background:#0d3040;border-radius:50% 50% 40% 40%;box-shadow:-12px 4px #0a2530,12px 2px #0a2530}.gen-coral-far.gen-coral-branch{width:8px;height:55px;background:#0d3040;border-radius:4px;box-shadow:14px -8px #0a2530,-10px -5px #0a2530,8px 10px #0a2530}.gen-coral-far.gen-coral-fan{width:60px;height:45px;background:radial-gradient(ellipse at bottom,#0d3040,transparent 70%);border-radius:50% 50% 0 0}.gen-fish-silhouette{position:absolute;left:-40px;width:28px;height:14px;background:#0a2030;border-radius:50% 40% 40% 50%;opacity:.25;animation:fishSilhouetteDrift linear infinite}.gen-fish-silhouette:after{content:"";position:absolute;right:-8px;top:50%;transform:translateY(-50%);border:6px solid transparent;border-left:10px solid #0a2030}.gen-sand-floor{position:absolute;left:0;right:0;bottom:0;height:22%;background:linear-gradient(180deg,#c9a86c,#b8924f 40%,#9a7840);border-radius:50% 50% 0 0/8% 8% 0 0}.gen-sand-texture{position:absolute;left:0;right:0;bottom:0;height:22%;background-image:radial-gradient(circle at 15% 60%,rgba(255,255,255,.08) 2px,transparent 2px),radial-gradient(circle at 45% 80%,rgba(0,0,0,.06) 1px,transparent 1px),radial-gradient(circle at 75% 50%,rgba(255,255,255,.06) 2px,transparent 2px),radial-gradient(circle at 90% 70%,rgba(0,0,0,.05) 1px,transparent 1px);background-size:80px 80px,60px 60px,90px 90px,70px 70px;opacity:.8}.gen-rock{position:absolute;bottom:14%;border-radius:45% 55% 40% 50%;box-shadow:inset -4px -6px 12px #00000059}.gen-rock-0{background:linear-gradient(145deg,#6b7b8a,#4a5a68 60%,#3a4a58)}.gen-rock-1{background:linear-gradient(145deg,#5a6a78,#3d4d5c 55%,#2d3d4c);border-radius:50% 40% 55% 45%}.gen-rock-2{background:linear-gradient(145deg,#7a8a98,#556575 50%,#455565);border-radius:40% 60% 45% 55%}.gen-coral{position:absolute;bottom:18%;transform-origin:bottom center;transform:scale(var(--scale, 1));animation:coralSway 5s ease-in-out infinite}.gen-coral-brain{width:70px;height:48px;border-radius:50% 50% 45% 45%}.gen-coral-brain:before,.gen-coral-brain:after{content:"";position:absolute;border-radius:50%;opacity:.85}.gen-coral-brain:before{width:28px;height:22px;top:8px;left:8px}.gen-coral-brain:after{width:22px;height:18px;top:14px;right:10px}.gen-coral-branch{width:12px;height:75px;border-radius:6px}.gen-coral-branch:before,.gen-coral-branch:after{content:"";position:absolute;width:10px;height:45px;border-radius:5px;bottom:20px}.gen-coral-branch:before{left:-14px;transform:rotate(-25deg)}.gen-coral-branch:after{right:-12px;transform:rotate(20deg)}.gen-coral-tube{width:14px;height:55px;border-radius:7px 7px 4px 4px;box-shadow:18px 5px 0 -2px currentColor,-16px 8px 0 -2px currentColor}.gen-coral-fan{width:90px;height:65px;border-radius:50% 50% 0 0;clip-path:polygon(0 100%,50% 0,100% 100%)}.gen-coral-color-pink.gen-coral-brain,.gen-coral-color-pink.gen-coral-brain:before,.gen-coral-color-pink.gen-coral-brain:after{background:linear-gradient(180deg,#ff8fab,#e64980)}.gen-coral-color-pink.gen-coral-branch,.gen-coral-color-pink.gen-coral-branch:before,.gen-coral-color-pink.gen-coral-branch:after{background:linear-gradient(180deg,#ffa8c5,#e64980)}.gen-coral-color-pink.gen-coral-tube{background:linear-gradient(180deg,#ffb3c6,#c9184a);color:#e64980}.gen-coral-color-pink.gen-coral-fan{background:linear-gradient(180deg,#ff8fab,#c9184a)}.gen-coral-color-orange.gen-coral-brain,.gen-coral-color-orange.gen-coral-brain:before,.gen-coral-color-orange.gen-coral-brain:after{background:linear-gradient(180deg,#ffb347,#e85d04)}.gen-coral-color-orange.gen-coral-branch,.gen-coral-color-orange.gen-coral-branch:before,.gen-coral-color-orange.gen-coral-branch:after{background:linear-gradient(180deg,#ffc971,#e85d04)}.gen-coral-color-orange.gen-coral-tube{background:linear-gradient(180deg,#ffd166,#d00000);color:#e85d04}.gen-coral-color-orange.gen-coral-fan{background:linear-gradient(180deg,#ffb347,#dc2f02)}.gen-coral-color-purple.gen-coral-brain,.gen-coral-color-purple.gen-coral-brain:before,.gen-coral-color-purple.gen-coral-brain:after{background:linear-gradient(180deg,#c77dff,#7b2cbf)}.gen-coral-color-purple.gen-coral-branch,.gen-coral-color-purple.gen-coral-branch:before,.gen-coral-color-purple.gen-coral-branch:after{background:linear-gradient(180deg,#d4a5ff,#7b2cbf)}.gen-coral-color-purple.gen-coral-tube{background:linear-gradient(180deg,#c77dff,#5a189a);color:#7b2cbf}.gen-coral-color-purple.gen-coral-fan{background:linear-gradient(180deg,#b388ff,#5a189a)}.gen-coral-color-yellow.gen-coral-brain,.gen-coral-color-yellow.gen-coral-brain:before,.gen-coral-color-yellow.gen-coral-brain:after{background:linear-gradient(180deg,#ffe066,#f4a261)}.gen-coral-color-yellow.gen-coral-branch,.gen-coral-color-yellow.gen-coral-branch:before,.gen-coral-color-yellow.gen-coral-branch:after{background:linear-gradient(180deg,#fff3b0,#f4a261)}.gen-coral-color-yellow.gen-coral-tube{background:linear-gradient(180deg,#ffe066,#e76f51);color:#f4a261}.gen-coral-color-yellow.gen-coral-fan{background:linear-gradient(180deg,#ffd60a,#e76f51)}.gen-coral-color-coral.gen-coral-brain,.gen-coral-color-coral.gen-coral-brain:before,.gen-coral-color-coral.gen-coral-brain:after{background:linear-gradient(180deg,#ff6b6b,#ee5a24)}.gen-coral-color-coral.gen-coral-branch,.gen-coral-color-coral.gen-coral-branch:before,.gen-coral-color-coral.gen-coral-branch:after{background:linear-gradient(180deg,#ff8787,#ee5a24)}.gen-coral-color-coral.gen-coral-tube{background:linear-gradient(180deg,#ff6b6b,#c44536);color:#ee5a24}.gen-coral-color-coral.gen-coral-fan{background:linear-gradient(180deg,#ff6b6b,#c44536)}.gen-seaweed-patch{position:absolute;bottom:20%;display:flex;gap:6px;align-items:flex-end}.gen-seaweed{display:block;width:10px;height:var(--h, 80px);background:linear-gradient(180deg,#52b788,#2d6a4f 70%,#1b4332);border-radius:50% 50% 0 0;transform-origin:bottom center;transform:rotate(calc((var(--i) - 2) * 8deg));animation:seaweedSway calc(3.5s + var(--i) * .4s) ease-in-out infinite;animation-delay:calc(var(--i) * .2s);opacity:.85}.gen-anemone{position:absolute;bottom:19%;width:50px;height:40px}.gen-anemone:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50% 50% 20% 20%;background:radial-gradient(ellipse at bottom,currentColor,transparent 75%)}.gen-anemone-pink{color:#ff6b9d;animation:anemonePulse 4s ease-in-out infinite}.gen-anemone-purple{color:#b388ff;animation:anemonePulse 5s ease-in-out infinite .5s}.gen-anemone-orange{color:#ff9f43;animation:anemonePulse 4.5s ease-in-out infinite 1s}.gen-detail{position:absolute;bottom:19%}.gen-starfish{width:36px;height:36px;background:#ff6b6b;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);opacity:.9;animation:detailBob 6s ease-in-out infinite}.gen-shell{width:32px;height:28px;background:linear-gradient(135deg,#ffe8d6,#f4a261);border-radius:50% 50% 40% 40%;box-shadow:inset -3px -3px 6px #00000026;transform:rotate(-15deg)}@keyframes cliffDrift{0%,to{transform:translate(0)}50%{transform:translate(-1%)}}@keyframes fishSilhouetteDrift{0%{left:-40px;opacity:0}5%{opacity:.25}95%{opacity:.25}to{left:110%;opacity:0}}@keyframes coralSway{0%,to{transform:scale(var(--scale, 1)) rotate(-2deg)}50%{transform:scale(var(--scale, 1)) rotate(2deg)}}@keyframes seaweedSway{0%,to{transform:rotate(calc((var(--i) - 2) * 8deg - 5deg))}50%{transform:rotate(calc((var(--i) - 2) * 8deg + 5deg))}}@keyframes anemonePulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes detailBob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.bg-creatures{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none}.bg-creature{position:absolute;transform-origin:center bottom;animation-timing-function:ease-in-out;animation-iteration-count:infinite;filter:drop-shadow(0 8px 20px rgba(0,25,50,.4))}.bg-creature img{display:block;width:100%;height:auto}.bg-creature-flip img{transform:scaleX(-1)}.bg-creature-sway{animation-name:creatureSway}.bg-creature-bob{animation-name:creatureBob}@keyframes creatureSway{0%,to{transform:rotate(-2deg) translateY(0)}33%{transform:rotate(2deg) translateY(-6px)}66%{transform:rotate(-1deg) translateY(4px)}}@keyframes creatureBob{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-12px) rotate(2deg)}}.depth-layer{position:absolute;top:0;right:0;bottom:0;left:0}.depth-far{z-index:0;transform:scale(1.12);animation:depthDriftFar 28s ease-in-out infinite;filter:blur(3px) brightness(.65)}.depth-mid{z-index:1;-webkit-mask-image:linear-gradient(180deg,#00000080,#000 20%,#000);mask-image:linear-gradient(180deg,#00000080,#000 20%,#000)}.depth-fog{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.depth-fog-top{z-index:2;background:linear-gradient(180deg,rgba(120,200,255,.35) 0%,rgba(60,140,200,.12) 18%,transparent 45%);animation:fogPulse 10s ease-in-out infinite}.depth-fog-mid{z-index:3;background:radial-gradient(ellipse 120% 60% at 50% 40%,transparent 30%,rgba(10,50,90,.15) 70%,rgba(5,30,60,.35) 100%)}.depth-fog-bottom{z-index:4;background:linear-gradient(0deg,rgba(2,20,45,.75) 0%,rgba(5,35,70,.4) 25%,transparent 55%)}.depth-rays{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;background:conic-gradient(from 180deg at 50% -10%,transparent 0deg,rgba(255,255,255,.04) 8deg,transparent 16deg,rgba(255,255,255,.06) 28deg,transparent 36deg,rgba(255,255,255,.03) 48deg,transparent 60deg,rgba(255,255,255,.05) 72deg,transparent 90deg);animation:raysShift 14s ease-in-out infinite;opacity:.7}.depth-rays-2{z-index:6;background:linear-gradient(175deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,.04) 8%,transparent 35%);animation:raysShift 18s ease-in-out infinite reverse;opacity:.5}.depth-caustics{position:absolute;left:0;right:0;bottom:0;height:45%;z-index:7;background:radial-gradient(ellipse 80px 40px at 20% 60%,rgba(100,200,255,.12),transparent 70%),radial-gradient(ellipse 60px 30px at 45% 40%,rgba(120,220,255,.1),transparent 70%),radial-gradient(ellipse 100px 50px at 70% 70%,rgba(80,180,240,.11),transparent 70%),radial-gradient(ellipse 50px 25px at 85% 50%,rgba(100,200,255,.09),transparent 70%);background-size:200% 200%;animation:causticsMove 8s ease-in-out infinite;mix-blend-mode:screen;opacity:.6}.depth-caustics-2{height:30%;animation-duration:11s;animation-delay:-3s;opacity:.4;filter:blur(2px)}.depth-particles{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;overflow:hidden}.depth-particle{position:absolute;border-radius:50%;background:#ffffff80;animation:particleFloat linear infinite}.depth-particle-0{opacity:.15;filter:blur(2px)}.depth-particle-1{opacity:.3;filter:blur(1px)}.depth-particle-2{opacity:.55;box-shadow:0 0 3px #fff6}.depth-murk{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;background:linear-gradient(90deg,rgba(0,20,45,.5) 0%,transparent 12%,transparent 88%,rgba(0,20,45,.5) 100%),linear-gradient(0deg,rgba(0,12,30,.6) 0%,transparent 40%);pointer-events:none}.depth-glass{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;background:linear-gradient(135deg,rgba(255,255,255,.06) 0%,transparent 30%,transparent 70%,rgba(255,255,255,.03) 100%);pointer-events:none}@keyframes depthDriftFar{0%,to{transform:scale(1.12) translate(0)}50%{transform:scale(1.14) translate(-1.5%)}}@keyframes fogPulse{0%,to{opacity:.85}50%{opacity:1}}@keyframes raysShift{0%,to{transform:translate(0) skew(0);opacity:.6}50%{transform:translate(2%) skew(1deg);opacity:.85}}@keyframes causticsMove{0%,to{background-position:0% 0%}33%{background-position:50% 30%}66%{background-position:100% 60%}}@keyframes particleFloat{0%{transform:translateY(0) translate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-30vh) translate(20px);opacity:0}}.moving-trees{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.kelp-tree{position:absolute;bottom:0;height:88%;width:200px;transform-origin:bottom center}.kelp-tree-left{left:0;animation:treeSway 5.5s ease-in-out infinite}.kelp-tree-right{right:0;animation:treeSway 6.5s ease-in-out infinite reverse}.kelp-tree-mid-left{left:12%;height:55%;width:90px;opacity:.75;animation:treeSway 7s ease-in-out infinite 1s}.kelp-trunk{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:22px;height:28%;min-height:80px;background:linear-gradient(90deg,#143d2e,#2d6a4f 50%,#143d2e);border-radius:6px 6px 2px 2px;box-shadow:inset -3px 0 6px #00000059}.kelp-branch{position:absolute;bottom:calc(22% + var(--i) * 9%);left:50%;width:16px;height:calc(62% - var(--i) * 7%);min-height:60px;max-height:320px;margin-left:calc((var(--i) - 3) * 18px);background:linear-gradient(180deg,#52b788,#40916c,#2d6a4f 80%,#1b4332);border-radius:50% 50% 0 0;transform-origin:bottom center;transform:rotate(calc((var(--i) - 3) * 12deg));animation:branchSway calc(3s + var(--i) * .35s) ease-in-out infinite;animation-delay:calc(var(--i) * .15s);box-shadow:1px 0 4px #0003;opacity:.95}.kelp-branch:after{content:"";position:absolute;top:0;left:15%;width:70%;height:20%;background:radial-gradient(ellipse,rgba(116,192,252,.25),transparent 70%);border-radius:50%}.kelp-branch-sm{width:11px;margin-left:calc((var(--i) - 1.5) * 14px)}.kelp-tree-left .kelp-branch:nth-child(2n){background:linear-gradient(180deg,#74c0a8,#52b788 45%,#2d6a4f)}.kelp-tree-right .kelp-trunk{width:20px}.kelp-tree-right .kelp-branch{background:linear-gradient(180deg,#40916c,#2d6a4f,#1b4332)}@keyframes treeSway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes branchSway{0%,to{transform:rotate(calc((var(--i) - 3) * 12deg - 6deg))}50%{transform:rotate(calc((var(--i) - 3) * 12deg + 6deg))}}.water-shimmer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(135,206,250,.15) 0%,transparent 30%,transparent 70%,rgba(0,40,80,.1) 100%);animation:shimmerPulse 6s ease-in-out infinite}.water-surface-glow{position:absolute;top:0;left:0;right:0;height:80px;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.2),transparent)}.water-surface-glow:after{content:"";position:absolute;bottom:0;left:0;right:0;height:24px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 24'%3E%3Cpath d='M0 12 Q150 2 300 12 T600 12 T900 12 T1200 12 V24 H0Z' fill='rgba(255,255,255,0.12)'/%3E%3C/svg%3E") repeat-x;background-size:600px 24px;animation:waveMove 5s linear infinite}.bubbles-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.bubbles-far{z-index:11}.bubbles-near{z-index:5}.bubble-far{opacity:.35;filter:blur(1.5px);border-color:#fff3;box-shadow:0 0 3px #ffffff26}.bubble-near{opacity:.9;box-shadow:0 0 10px #ffffff73,inset 0 0 6px #fff9}.bubble{position:absolute;bottom:-30px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#fffffff2,#ffffff40 45%,#ffffff14);border:1px solid rgba(255,255,255,.45);box-shadow:0 0 6px #ffffff59,inset 0 0 4px #ffffff80;animation:bubbleRise linear infinite}.bubble-stream{opacity:.85}@keyframes shimmerPulse{0%,to{opacity:.7}50%{opacity:1}}@keyframes bubbleRise{0%{transform:translateY(0) translate(0) scale(.6);opacity:0}5%{opacity:.9;transform:translateY(-5vh) translate(0) scale(1)}50%{transform:translateY(-55vh) translate(var(--drift, 0px)) scale(1.05)}95%{opacity:.6}to{transform:translateY(-115vh) translate(calc(var(--drift, 0px) * 2)) scale(.8);opacity:0}}.password-field{position:relative;display:block;width:100%}.password-field-input{width:100%;box-sizing:border-box;padding-right:4.25rem!important}.password-field-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:none;background:transparent;color:#3d7a9e;font-size:.78rem;font-weight:700;cursor:pointer;padding:6px 8px;line-height:1}.password-field-toggle:hover{color:#0d3a58}.public-menu-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;justify-content:flex-end}.public-menu-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#02122073;cursor:pointer}.public-menu-panel{position:relative;width:min(400px,100%);height:100%;overflow:auto;padding:20px 18px 28px;background:linear-gradient(180deg,#fffffffa,#f0f8fdfa);color:#163e5c;box-shadow:-16px 0 40px #00142847;font-family:Trebuchet MS,Segoe UI,sans-serif;animation:public-menu-slide .28s ease-out}@keyframes public-menu-slide{0%{transform:translate(18px);opacity:.6}to{transform:translate(0);opacity:1}}.public-menu-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.public-menu-brand{margin:0;font-size:1.35rem;font-weight:800;color:#0d5a82;letter-spacing:.03em}.public-menu-header h2{margin:2px 0 0;font-size:1rem;font-weight:600;color:#4d7390}.public-menu-close{border:none;width:40px;height:40px;border-radius:12px;background:#e8f4fb;color:#0d3a58;font-size:1.5rem;line-height:1;cursor:pointer}.public-menu-back{border:none;background:transparent;color:#0d5a82;font-weight:700;font-size:.9rem;padding:0 0 12px;cursor:pointer;text-align:left}.public-menu-home{display:grid;gap:12px}.public-menu-choice{display:grid;gap:4px;width:100%;text-align:left;border:1px solid #d5e8f4;border-radius:16px;padding:16px 14px;background:#f0f8fd;color:#163e5c;cursor:pointer}.public-menu-choice strong{font-size:1.05rem}.public-menu-choice span{font-size:.9rem;color:#4d7390;line-height:1.35}.public-menu-choice:hover{border-color:#7ad7ff;background:#e8f7ff}.public-menu-upgrade{margin-top:18px;padding-top:16px;border-top:1px solid #d5e8f4}.public-menu-upgrade h3{margin:0 0 6px;font-size:1rem}.public-menu-success{color:#0d6b4c;font-size:.9rem;margin:0 0 8px;font-weight:700}.public-menu-lead{margin:0 0 14px;color:#4d7390;line-height:1.45;font-size:.95rem}.public-menu-steps{margin:0 0 14px;padding-left:1.15rem;color:#3d6785;line-height:1.5;font-size:.92rem}.public-menu-plans{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:8px}.public-menu-plans li{display:grid;gap:2px;padding:10px 12px;border-radius:12px;background:#f0f8fd;border:1px solid #d5e8f4}.public-menu-plans span{font-size:.85rem;color:#4d7390}.public-menu-paypal,.public-menu-login-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:13px 16px;border:none;border-radius:14px;font-size:1rem;font-weight:800;text-decoration:none;cursor:pointer;box-sizing:border-box}.public-menu-paypal{background:linear-gradient(135deg,#ffc439,#ffdd7a);color:#003087}.public-menu-login-btn{background:linear-gradient(135deg,#ffe66d,#7ad7ff);color:#0d3a58;margin-top:6px}.public-menu-login-btn:disabled{opacity:.7;cursor:wait}.public-menu-support{margin-top:18px;padding-top:14px;border-top:1px solid #d5e8f4;display:grid;gap:8px}.public-menu-support h3{margin:0;font-size:.95rem}.public-menu-support a{color:#0d5a82;font-weight:700;text-decoration:none}.public-menu-note{margin:0;color:#4d7390;font-size:.9rem}.public-menu-body label{display:grid;gap:6px;margin-bottom:12px;font-size:.85rem;font-weight:600;color:#2f5f7d}.public-menu-body input{width:100%;padding:12px 14px;border-radius:12px;border:2px solid #d5e8f4;font-size:1rem;color:#163e5c;background:#f7fbff;box-sizing:border-box}.public-menu-error{color:#c92a2a;font-size:.88rem;margin:0 0 8px}.access-gate-loading{min-height:100dvh;display:grid;place-items:center;background:#062d45;color:#ffffffd9;font-size:1rem}.account-cta-btn{position:fixed;right:16px;bottom:16px;z-index:130;padding:14px 22px;border:none;border-radius:999px;background:linear-gradient(135deg,#ffe66d,#7ad7ff);color:#0d3a58;font-family:Trebuchet MS,Segoe UI,sans-serif;font-size:1rem;font-weight:800;letter-spacing:.02em;text-decoration:none;box-shadow:0 12px 28px #00142859;cursor:pointer}.account-cta-btn:hover{transform:translateY(-1px)}.access-badge{position:fixed;left:12px;bottom:12px;z-index:120;display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:14px;background:#041c30b8;color:#e8f7ff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 24px #00000047;font-size:.78rem;pointer-events:none}.access-badge-main{display:flex;flex-direction:column;gap:2px;line-height:1.2}.access-badge-main strong{font-size:.82rem;letter-spacing:.02em}.access-badge-main span{opacity:.85}.settings-btn-wrap{position:absolute;top:clamp(12px,2vh,24px);left:clamp(12px,2vw,24px);z-index:130}.settings-btn{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:#ffffff1c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:1.35rem;cursor:pointer;box-shadow:0 4px 16px #0000001f;touch-action:manipulation;transition:background .2s,transform .2s}.settings-btn:hover,.settings-btn.open{background:#ffffff30;transform:scale(1.05)}.settings-panel{position:absolute;top:calc(100% + 10px);left:0;min-width:240px;padding:16px;border-radius:16px;background:linear-gradient(145deg,#fffffff5,#e8f7fff0);box-shadow:0 10px 36px #1a4a6e4d;border:1px solid rgba(116,192,252,.45);pointer-events:auto}.settings-panel-title{margin:0 0 10px;color:#1a4a6e;font-size:1.1rem;font-weight:700}.settings-status{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:#3d6a8e;font-size:.85rem;font-weight:600}.settings-dot{width:8px;height:8px;border-radius:50%;background:#ff6b6b}.settings-dot.online{background:#51cf66}.settings-panel-meta{margin:0 0 12px;color:#6b9ab8;font-size:.8rem}.settings-links{display:flex;flex-direction:column;gap:6px}.settings-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:#1a4a6e;font-size:.9rem;font-weight:600;text-decoration:none;background:#74c0fc1f;border:none;cursor:pointer;text-align:left;width:100%;font-family:inherit;touch-action:manipulation}.settings-link:hover{background:#74c0fc47}.settings-link span:first-child{font-size:1.1rem}.settings-profile{margin:0 0 12px;padding:12px;border-radius:12px;background:#0d5a8214;border:1px solid rgba(13,90,130,.12)}.settings-profile-label{margin:0 0 4px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#3d7a9e}.settings-profile-name{margin:0 0 2px;font-size:.95rem;font-weight:700;color:#0d3a58;word-break:break-all}.settings-profile-plan{margin:0 0 4px;font-size:.88rem;font-weight:600;color:#1a4a6e}.settings-profile-time{margin:0;font-size:.82rem;color:#4d7390;line-height:1.35}.water-ripples-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:11;pointer-events:none;overflow:hidden}.water-ripple{position:absolute;width:0;height:0;transform:translate(-50%,-50%)}.water-ripple-ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;border:2px solid rgba(255,255,255,.55);box-shadow:0 0 12px #87cefa59;animation:rippleExpand 1.4s ease-out forwards}.water-ripple-ring.ring-1{width:20px;height:12px;animation-delay:0s}.water-ripple-ring.ring-2{width:20px;height:12px;animation-delay:.18s;border-color:#c8ebff73}.water-ripple-ring.ring-3{width:20px;height:12px;animation-delay:.36s;border-color:#96dcff4d}.water-ripple-splash{position:absolute;left:50%;top:50%;width:48px;height:20px;transform:translate(-50%,-50%);background:radial-gradient(ellipse at center,rgba(255,255,255,.45) 0%,rgba(135,206,250,.2) 45%,transparent 70%);animation:rippleSplash .9s ease-out forwards}@keyframes rippleExpand{0%{width:16px;height:10px;opacity:.85}to{width:220px;height:90px;opacity:0}}@keyframes rippleSplash{0%{transform:translate(-50%,-50%) scale(.4);opacity:.7}40%{opacity:.5}to{transform:translate(-50%,-50%) scale(1.6);opacity:0}}.qr-panel{position:absolute;top:clamp(12px,2vh,24px);left:calc(clamp(12px,2vw,24px) + 58px);z-index:130;animation:panelFloat 6s ease-in-out infinite}.qr-panel-inner{background:linear-gradient(145deg,#fffffff2,#e8f7ffe6);border-radius:24px;padding:12px;text-align:center;box-shadow:0 8px 32px #1a4a6e40,0 0 0 3px #74c0fc66;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);max-width:224px}.qr-code{width:200px;height:200px;border-radius:12px;margin:0 auto;display:block}.qr-loading{width:200px;height:200px;display:flex;align-items:center;justify-content:center;background:#e8f7ff;border-radius:12px;color:#3d6a8e;margin:0 auto}.qr-url{margin-top:10px;font-size:.65rem;color:#6b9ab8;word-break:break-all}.qr-demo-hint{margin:0 0 8px;font-size:.78rem;font-weight:700;color:#1a4a6e;line-height:1.3}@keyframes panelFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.qr-panel-wall{top:clamp(12px,2vh,24px);left:calc(clamp(12px,2vw,24px) + 58px)}.qr-panel-wall .qr-panel-inner{max-width:min(300px,24vw);padding:clamp(10px,1vw,16px)}.qr-panel-wall .qr-code,.qr-panel-wall .qr-loading{width:clamp(160px,22vw,280px);height:clamp(160px,22vw,280px)}@media(max-width:768px){.qr-panel{top:16px;left:64px;right:auto}.qr-panel-inner{max-width:210px}}.aquarium-wall{width:100%;height:100%;overflow:hidden;background:#062d45}.aquarium-wall-viewport{position:relative;width:100vw;height:100vh;height:100dvh;overflow:hidden}.aquarium-wall-stage{position:relative;z-index:1;width:100%;height:100%;will-change:transform}.aquarium-wall-active .aquarium-wall-stage{width:calc(var(--wall-panels, 1) * 100%);height:100%;transform:translate(calc(var(--wall-panel, 0) * -100% / var(--wall-panels, 1)))}.aquarium-wall-active .aquarium,.aquarium-wall-active .aquarium-water{background:transparent}.aquarium-wall-active .fish-layer,.aquarium-wall-active .aquarium-scene-items,.aquarium-wall-active .feed-sacks-layer,.aquarium-wall-active .falling-seeds-layer{clip-path:inset(0 calc((var(--wall-panels) - 1 - var(--wall-panel)) * 100% / var(--wall-panels)) 0 calc(var(--wall-panel) * 100% / var(--wall-panels)))}.aquarium-viewport-ui{position:absolute;top:0;right:0;bottom:0;left:0;z-index:100;pointer-events:none}.aquarium-viewport-ui .qr-panel,.aquarium-viewport-ui .qr-toggle-btn,.aquarium-viewport-ui .settings-btn-wrap,.aquarium-viewport-ui .aquarium-header,.aquarium-viewport-ui .aquarium-footer{pointer-events:auto}.aquarium{position:relative;width:100%;height:100%;overflow:hidden;background:#062d45}.aquarium-water{position:absolute;top:0;right:0;bottom:0;left:0}.aquarium-depth-stack{position:absolute;top:0;right:0;bottom:0;left:0;z-index:15;pointer-events:none}.aquarium-depth-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible}.aquarium-depth-layer-1,.aquarium-depth-layer-2,.aquarium-depth-layer-3,.aquarium-depth-layer-4{opacity:1}.water-tap-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;pointer-events:auto;touch-action:manipulation;cursor:pointer;background:transparent}.fish-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.fish-layer-all{z-index:auto}.fish-layer-depth-1 .swimming-fish,.fish-layer-depth-2 .swimming-fish,.fish-layer-depth-3 .swimming-fish,.fish-layer-depth-4 .swimming-fish,.swimming-fish-depth-1,.swimming-fish-depth-2,.swimming-fish-depth-3,.swimming-fish-depth-4{opacity:1}.swimming-fish:not(.feeding){transition:filter 1.4s ease,z-index 0s;filter:blur(var(--fish-blur, 0))}.fish-layer-depth-4 .swimming-fish,.swimming-fish-depth-4:not(.feeding){filter:blur(var(--fish-blur, 0)) drop-shadow(0 6px 18px rgba(255,255,255,.12))}.aquarium-header{position:absolute;top:24px;left:24px;z-index:100;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.3)}.aquarium-header h1{font-size:clamp(2rem,5vw,3.5rem);font-weight:700;display:flex;align-items:center;gap:12px}.title-icon{font-size:.85em;animation:iconBounce 2s ease-in-out infinite}.title-icon:last-child{animation-delay:1s}.subtitle{font-size:1.1rem;opacity:.9;margin-top:4px;font-weight:500}.status-dot{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:6px 14px;background:#fff3;border-radius:20px;font-size:.85rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.status-dot:before{content:"";width:8px;height:8px;border-radius:50%;background:#ff6b6b}.status-dot.online:before{background:#51cf66;animation:pulse 2s ease-in-out infinite}.aquarium-footer{position:absolute;bottom:16px;left:50%;transform:translate(-50%);z-index:100;color:#ffffffb3;font-size:.9rem;text-shadow:0 1px 4px rgba(0,0,0,.3)}.qr-toggle-btn{position:absolute;top:calc(clamp(12px,2vh,24px) + 58px);left:clamp(18px,2vw,30px);z-index:131;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:#ffffff1c;color:#fff;font-size:1.2rem;line-height:1;box-shadow:0 4px 14px #0000001f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;touch-action:manipulation;transition:background .2s,transform .2s}.qr-toggle-btn:hover,.qr-toggle-btn.open{background:#ffffff30;transform:scale(1.05)}.celebration-banner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:200;background:linear-gradient(135deg,#ffe66d,#ff6b9d);color:#1a4a6e;font-size:1.5rem;font-weight:700;padding:20px 40px;border-radius:50px;box-shadow:0 8px 32px #0000004d;animation:celebratePop .5s cubic-bezier(.34,1.56,.64,1),celebrateFade 4s ease forwards;display:flex;align-items:center;gap:12px;white-space:nowrap}.celebration-emoji{font-size:1.8rem;animation:iconBounce .6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes celebratePop{0%{transform:translate(-50%,-50%) scale(0);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes celebrateFade{0%,70%{opacity:1}to{opacity:0;pointer-events:none}}.wall-panel-badge{position:absolute;right:16px;bottom:16px;z-index:90;padding:6px 12px;border-radius:12px;background:#00000059;color:#ffffffbf;font-size:.8rem;font-weight:600;pointer-events:none}.upload-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0d4a6eeb;display:flex;align-items:center;justify-content:center;padding:24px}.upload-overlay-box{background:#fff;border-radius:24px;padding:36px 28px;text-align:center;width:100%;max-width:340px;box-shadow:0 12px 48px #0006}.upload-overlay-box h2{color:#1a4a6e;font-size:1.4rem;margin:16px 0 6px}.upload-overlay-box p{color:#3d6a8e;font-size:1rem}.upload-overlay-img{margin-top:20px;max-width:100%;max-height:180px;border-radius:12px;object-fit:contain;border:2px solid #74c0fc}.spinner.big{width:64px;height:64px;border-width:5px;border-color:#1a4a6e33;border-top-color:#1a4a6e}.photo-btn{display:flex;align-items:center;gap:16px;width:100%;padding:20px 24px;margin-bottom:14px;background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000026;cursor:pointer;position:relative;overflow:hidden}.photo-btn input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:0}.photo-btn-icon{font-size:2rem}.photo-btn-text{font-size:1.15rem;font-weight:600;color:#1a4a6e}.camera-btn{border:3px solid #74c0fc}.gallery-btn{border:2px solid #e8f7ff}.server-ok{margin-top:10px;padding:8px 12px;background:#51cf664d;border-radius:10px;font-size:.85rem}.upload-thumb{margin-top:16px;max-width:200px;max-height:160px;border-radius:12px;object-fit:contain;box-shadow:0 4px 16px #0003}.server-warn{margin-top:10px;padding:8px 12px;background:#ff6b6b4d;border-radius:10px;font-size:.85rem}.upload-page{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch;background:linear-gradient(180deg,#87ceeb,#4a9eca,#1a6b9a);position:relative}.upload-bg{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.upload-wave{position:absolute;bottom:0;left:0;right:0;height:120px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120'%3E%3Cpath d='M0 60 Q300 0 600 60 T1200 60 V120 H0Z' fill='rgba(255,255,255,0.1)'/%3E%3C/svg%3E") repeat-x;background-size:600px 120px;animation:waveMove 8s linear infinite}.upload-container{position:relative;max-width:420px;margin:0 auto;padding:32px 20px 48px}.upload-header{text-align:center;color:#fff;margin-bottom:28px}.upload-logo{font-size:3rem;display:block;margin-bottom:8px;animation:iconBounce 2s ease-in-out infinite}.upload-header h1{font-size:1.8rem;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.2)}.upload-header p{margin-top:6px;opacity:.9;font-size:.95rem}.upload-view-aquarium{display:inline-block;margin-top:12px;color:#ffffffe6;font-size:.9rem;text-decoration:underline}.status-msg{text-align:center;color:#fff;font-size:.95rem;margin-bottom:12px;padding:10px;background:#ffffff26;border-radius:12px}.capture-area{background:#fffffff2;border-radius:24px;padding:48px 24px;text-align:center;cursor:pointer;box-shadow:0 8px 32px #00000026;border:3px dashed #74c0fc;transition:transform .2s,border-color .2s}.capture-area:active{transform:scale(.98);border-color:#4a9eca}.capture-icon{font-size:3.5rem;margin-bottom:12px}.capture-area p{color:#3d6a8e;font-size:1rem;line-height:1.5}.preview-extracted{width:100%}.preview-extracted .extracted-only{position:relative;min-height:220px;padding:20px;overflow:hidden}.preview-extracted .extracted-only img{position:relative;z-index:2;max-height:280px}.aquarium-preview{background:linear-gradient(180deg,#87ceeb,#4a9eca 45%,#1a6b9a)}.aquarium-preview-water{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.aquarium-preview-sand{position:absolute;bottom:0;left:0;right:0;height:28%;background:linear-gradient(180deg,#c9a66b,#8b6340);border-radius:50% 50% 0 0/12px 12px 0 0}.aquarium-preview-bubbles:before,.aquarium-preview-bubbles:after{content:"";position:absolute;border-radius:50%;background:#ffffff59;border:1px solid rgba(255,255,255,.5)}.aquarium-preview-bubbles:before{width:14px;height:14px;bottom:40%;left:15%}.aquarium-preview-bubbles:after{width:10px;height:10px;bottom:55%;right:20%}.preview-hint{margin-top:10px;color:#ffffffe6;font-size:.85rem;text-align:center}.preview-card{width:100%;background:#fffffff2;border-radius:20px;padding:14px;box-shadow:0 8px 32px #00000026}.preview-label{display:block;font-size:.8rem;font-weight:600;color:#3d6a8e;margin-bottom:8px;text-align:center}.preview-frame{border-radius:12px;overflow:hidden;min-height:160px;display:flex;align-items:center;justify-content:center;background:#f0f4f8}.preview-frame img{width:100%;max-height:220px;object-fit:contain;display:block}.checkerboard{background-color:#e8edf2;background-image:linear-gradient(45deg,#d0d8e0 25%,transparent 25%),linear-gradient(-45deg,#d0d8e0 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#d0d8e0 75%),linear-gradient(-45deg,transparent 75%,#d0d8e0 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}.preview-arrow{font-size:1.5rem;color:#fff;font-weight:700;text-shadow:0 2px 6px rgba(0,0,0,.2)}.upload-form{margin-top:20px}.upload-form label{display:block;color:#fff;font-size:.9rem;margin-bottom:6px;font-weight:500}.upload-form input[type=text]{width:100%;padding:12px 16px;border-radius:12px;border:2px solid rgba(255,255,255,.3);background:#ffffffe6;font-size:1rem;color:#1a4a6e}.btn-primary{display:block;width:100%;margin-top:16px;padding:16px;background:linear-gradient(135deg,#ffe66d,#ff6b9d);color:#1a4a6e;font-size:1.1rem;font-weight:700;border-radius:16px;box-shadow:0 4px 16px #ff6b9d66;transition:transform .2s}.btn-primary:active{transform:scale(.97)}.btn-secondary{display:block;width:100%;margin-top:12px;padding:14px;background:#fff3;color:#fff;font-size:1rem;font-weight:600;border-radius:16px;text-align:center;text-decoration:none;border:2px solid rgba(255,255,255,.4)}.btn-text{display:block;width:100%;margin-top:10px;padding:10px;background:transparent;color:#fffc;font-size:.9rem;text-decoration:underline}.uploading-state{text-align:center;padding:40px 20px;color:#fff}.spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;margin:0 auto 16px;animation:spin .8s linear infinite}.upload-success{background:#fffffff2;border-radius:24px;padding:40px 24px;text-align:center;box-shadow:0 8px 32px #00000026}.success-icon{font-size:4rem;margin-bottom:12px}.upload-success h2{color:#1a4a6e;font-size:1.5rem;margin-bottom:8px}.upload-success p{color:#3d6a8e;margin-bottom:24px;line-height:1.5}.error-msg{margin-top:12px;padding:12px;background:#ff6b6b33;color:#fff;border-radius:12px;text-align:center;font-size:.9rem}.upload-tips{margin-top:32px;background:#ffffff26;border-radius:16px;padding:20px;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.upload-tips h3{font-size:.95rem;margin-bottom:10px}.upload-tips ul{list-style:none;font-size:.85rem;line-height:1.8}.upload-tips li:before{content:"✏️ "}@keyframes iconBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes waveMove{0%{background-position-x:0}to{background-position-x:600px}}.admin-page{min-height:100%;overflow-y:auto;background:linear-gradient(180deg,#0a3d5c,#062d45);color:#fff;padding:24px}.admin-login-card{max-width:380px;margin:80px auto;background:#fffffff2;color:#1a4a6e;border-radius:20px;padding:32px;text-align:center;box-shadow:0 8px 32px #00000040}.admin-login-card h1{font-size:1.6rem;margin-bottom:8px}.admin-login-card p{margin-bottom:20px;color:#3d6a8e;font-size:.9rem}.admin-login-card input{width:100%;padding:12px 16px;border-radius:12px;border:2px solid #d0e8f5;font-size:1rem;margin-bottom:12px}.admin-error{color:#e03131;font-size:.85rem;margin-bottom:8px}.admin-hint{margin-top:16px;font-size:.75rem;color:#6b9ab8}.admin-hint code{background:#e8f7ff;padding:2px 6px;border-radius:4px}.admin-back{display:inline-block;margin-top:16px;color:#3d6a8e;font-size:.9rem}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px}.admin-header h1{font-size:1.5rem}.admin-header-actions{display:flex;gap:10px}.admin-tabs{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.admin-tab{border:none;border-radius:999px;padding:10px 16px;background:#ffffff1a;color:#fff;font-weight:600;cursor:pointer}.admin-tab.active{background:linear-gradient(135deg,#ffe66d,#7ad7ff);color:#1a4a6e}.admin-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;max-width:1200px;margin:0 auto}@media(max-width:900px){.admin-layout{grid-template-columns:1fr}}.admin-panel,.admin-preview-section{background:#ffffff1a;border-radius:16px;padding:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.admin-panel h2,.admin-preview-section h2{font-size:1.1rem;margin-bottom:6px}.admin-desc{font-size:.82rem;opacity:.8;margin-bottom:12px}.admin-theme-select{display:flex;flex-direction:column;gap:6px;font-size:.82rem;margin-bottom:12px}.admin-theme-select select{padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:#00000040;color:#fff;font:inherit}.admin-theme-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.admin-btn{font-family:inherit;cursor:pointer;border:none;border-radius:10px;padding:10px 16px;font-size:.9rem;font-weight:600;transition:transform .15s}.admin-btn:active:not(:disabled){transform:scale(.97)}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn-primary{background:linear-gradient(135deg,#ffe66d,#ff6b9d);color:#1a4a6e}.admin-item-upload-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.admin-item-upload-row .admin-btn{margin-bottom:0}.admin-item-type{display:block;font-size:.75rem;font-weight:700;color:#1a6b9a;margin-bottom:6px}.admin-item-thumb-video{width:72px;height:72px;object-fit:cover;border-radius:8px;background:#062d45;flex-shrink:0}.admin-btn-secondary{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);text-decoration:none;display:inline-flex;align-items:center}.admin-btn-text{background:transparent;color:#ffffffb3}.admin-btn-danger{background:#e03131;color:#fff}.admin-btn-sm{padding:6px 10px;font-size:.75rem}.admin-item-list{display:flex;flex-direction:column;gap:10px;margin:16px 0;max-height:320px;overflow-y:auto}.admin-item-row{display:flex;gap:10px;padding:10px;background:#0003;border-radius:10px;cursor:pointer;border:2px solid transparent}.admin-item-row.selected{border-color:#ffe66d}.admin-item-upload-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.admin-item-upload-actions .admin-btn-primary{margin-bottom:0}.admin-item-type{font-size:.72rem;opacity:.85;margin-bottom:4px}.admin-item-thumb-video{width:48px;height:48px;object-fit:cover;background:#00000059;border-radius:6px;flex-shrink:0}.admin-item-row img{width:48px;height:48px;object-fit:contain;background:#ffffff1a;border-radius:6px;flex-shrink:0}.admin-fish-list{max-height:240px}.admin-fish-row{display:flex;align-items:center;gap:10px;padding:10px;background:#0003;border-radius:10px}.admin-fish-row img{width:48px;height:48px;object-fit:contain;background:#ffffff1a;border-radius:6px;flex-shrink:0}.admin-fish-meta{flex:1;min-width:0;font-size:.9rem}.admin-fish-meta strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-item-controls{flex:1;display:flex;flex-direction:column;gap:4px;font-size:.72rem}.admin-item-controls label{display:flex;align-items:center;gap:8px}.admin-item-controls input[type=range]{flex:1;accent-color:#ffe66d}.admin-item-controls select{flex:1;padding:4px 6px;border-radius:6px;border:1px solid rgba(255,255,255,.25);background:#0000004d;color:#fff;font-size:.72rem}.admin-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.admin-actions .admin-btn-primary{margin-bottom:0}.admin-status{margin-top:12px;font-size:.85rem;color:#a8e6cf}.admin-preview{position:relative;width:100%;border-radius:12px;overflow:hidden;cursor:crosshair;background:#062d45;border:2px solid rgba(255,255,255,.2)}.admin-preview-stage{position:absolute;top:0;left:0;overflow:hidden;transform-origin:top left}.admin-preview-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block}.admin-preview-item{position:absolute;z-index:20!important;pointer-events:none}.admin-preview-item .scene-decor-item,.admin-preview-item .scene-decor-video{display:block;height:auto;max-width:28vw;max-height:35vh;object-fit:contain;opacity:1!important;filter:drop-shadow(0 6px 16px rgba(0,0,0,.45))!important}.admin-preview-item.selected .scene-decor-item,.admin-preview-item.selected .scene-decor-video{outline:2px dashed #ffe66d;outline-offset:4px}.wall-launcher{min-height:100%;padding:32px 20px 48px;background:linear-gradient(160deg,#062d45,#0a4a6e 45%,#1a6a8e);color:#e8f7ff;overflow:auto}.wall-launcher-card{max-width:720px;margin:0 auto;background:#ffffff14;border-radius:24px;padding:32px;box-shadow:0 12px 40px #00000040;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.wall-launcher-card h1{font-size:2rem;margin-bottom:12px}.wall-launcher-card>p{opacity:.92;line-height:1.5;margin-bottom:24px}.wall-launcher-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.wall-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:14px;font-weight:600;text-decoration:none;border:none;cursor:pointer;font-size:.95rem}.wall-btn-primary{background:linear-gradient(135deg,#ffe66d,#ff9f43);color:#1a4a6e}.wall-btn-secondary{background:#ffffff2e;color:#fff}.wall-btn-ghost{background:transparent;color:#fffc;border:1px solid rgba(255,255,255,.25)}.wall-btn:disabled{opacity:.6;cursor:wait}.wall-launcher-status{margin-bottom:20px;padding:10px 14px;background:#0003;border-radius:10px;font-size:.9rem}.wall-launcher-section{margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}.wall-launcher-section h2{font-size:1.1rem;margin-bottom:10px}.wall-launcher-section ol{padding-left:20px;line-height:1.6;opacity:.9}.wall-launcher-code{display:block;margin:10px 0;padding:12px 16px;background:#00000059;border-radius:10px;font-family:Consolas,monospace;font-size:.95rem}.wall-panel-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.wall-panel-links a{padding:8px 14px;background:#ffffff24;border-radius:10px;color:#fff;text-decoration:none;font-weight:600}.wall-screen-list{list-style:none;line-height:1.7;opacity:.9}.doll-camera-page{min-height:100vh;padding:32px;color:#12324a;background:radial-gradient(circle at 20% 0%,rgba(123,220,255,.35),transparent 35%),linear-gradient(180deg,#e7f8ff,#c9efff 46%,#9ed7ee)}.doll-camera-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;max-width:1180px;margin:0 auto 20px}.doll-camera-header h1{margin:4px 0 0;font-size:clamp(1.8rem,3vw,3rem)}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:800;color:#1971a3}.back-link,.doll-panel button{border:none;border-radius:999px;padding:11px 18px;color:#fff;background:linear-gradient(135deg,#087fbd,#15aabf);text-decoration:none;font-weight:800;cursor:pointer;box-shadow:0 10px 22px #03517838}.doll-panel button:disabled{cursor:not-allowed;opacity:.55}.doll-panel{max-width:1180px;margin:0 auto 18px;padding:22px;border:1px solid rgba(255,255,255,.7);border-radius:28px;background:#ffffffb8;box-shadow:0 18px 42px #034d6e26;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.doll-panel h2{margin:0 0 16px}.doll-name-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:16px 0}.doll-name-grid label,.doll-password-field,.threshold-control{display:grid;gap:6px;font-size:.82rem;font-weight:800;color:#246079}.doll-name-grid input,.doll-password-field input{width:100%;border:1px solid rgba(34,139,180,.25);border-radius:12px;padding:10px 12px;color:#12324a;background:#fff}.doll-password-field{max-width:320px;margin-bottom:14px}.camera-panel{display:grid;gap:14px}.camera-frame{position:relative;overflow:hidden;aspect-ratio:16 / 9;border-radius:22px;background:#063047;box-shadow:inset 0 0 0 1px #ffffff38}.camera-frame video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.camera-target{position:absolute;top:16%;right:28%;bottom:16%;left:28%;border:3px dashed rgba(255,255,255,.9);border-radius:28px;box-shadow:0 0 0 999px #00142838;pointer-events:none}.camera-actions{display:flex;flex-wrap:wrap;gap:10px}.threshold-control input{width:min(440px,100%)}.doll-status,.doll-readiness,.doll-match{margin:0;font-weight:700}.doll-status{color:#0b7285}.doll-readiness{color:#3b6d82;font-size:.92rem}.registered-dolls{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:14px}.registered-dolls figure{margin:0;padding:12px;border-radius:18px;background:#ffffffbf;text-align:center}.registered-dolls img{width:100%;height:96px;object-fit:contain}.registered-dolls figcaption{margin-top:8px;font-size:.82rem;font-weight:800}@media(max-width:720px){.doll-camera-page{padding:18px}.doll-camera-header{flex-direction:column}}.account-page{min-height:100dvh;position:relative;padding:28px 20px 48px;color:#eef8ff;font-family:Trebuchet MS,Segoe UI,sans-serif;overflow-x:hidden}.account-atmosphere{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(ellipse 70% 45% at 20% 10%,rgba(255,230,109,.18),transparent 50%),radial-gradient(ellipse 60% 50% at 90% 20%,rgba(90,200,255,.22),transparent 55%),linear-gradient(165deg,#0a4a6e,#06354f 42%,#041e30)}.account-hero{width:min(920px,100%);margin:0 auto 28px}.account-back{display:inline-block;margin-bottom:18px;color:#e8f7ffd9;text-decoration:none;font-size:.92rem}.account-back:hover{color:#ffe66d}.account-brand{margin:0 0 6px;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;letter-spacing:.04em;color:#ffe66d;text-shadow:0 6px 24px rgba(0,20,40,.35)}.account-hero h1{margin:0 0 12px;font-size:clamp(1.35rem,2.6vw,1.85rem);font-weight:700;line-height:1.25}.account-lead{margin:0;max-width:42rem;color:#e8f7ffe0;font-size:1.05rem;line-height:1.55}.account-grid{width:min(920px,100%);margin:0 auto;display:grid;gap:20px}@media(min-width:800px){.account-grid{grid-template-columns:1.15fr .85fr;align-items:start}}.account-panel{padding:24px 22px;border-radius:22px;background:#fffffff5;color:#163e5c;box-shadow:0 18px 50px #00142847}.account-panel h2{margin:0 0 12px;font-size:1.25rem}.account-panel h3{margin:0 0 8px;font-size:1rem}.account-steps{margin:0 0 18px;padding-left:1.2rem;color:#3d6785;line-height:1.55}.account-steps li{margin-bottom:6px}.account-plans{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:10px}.account-plans li{display:grid;gap:2px;padding:12px 14px;border-radius:14px;background:#f0f8fd;border:1px solid #d5e8f4}.account-plans strong{color:#0d3a58}.account-plans span{font-size:.9rem;color:#4d7390}.account-paypal-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:14px 18px;border-radius:14px;background:linear-gradient(135deg,#ffc439,#ffdd7a);color:#003087;font-size:1.05rem;font-weight:800;text-decoration:none;box-shadow:0 8px 20px #0030872e}.account-paypal-btn:hover{filter:brightness(1.03)}.account-support{margin-top:22px;padding-top:18px;border-top:1px solid #d5e8f4}.account-support p{margin:0 0 12px;color:#4d7390;font-size:.95rem;line-height:1.45}.account-support-links{display:grid;gap:8px}.account-support-links a{color:#0d5a82;font-weight:700;text-decoration:none}.account-support-links a:hover{color:#06354f;text-decoration:underline}.account-note{margin:0;color:#4d7390;font-size:.9rem;line-height:1.45}.account-note code{font-size:.82em;padding:1px 5px;border-radius:6px;background:#e8f4fb}.account-sub{margin:0 0 18px;color:#4d7390;font-size:.95rem;line-height:1.45}.account-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.account-mode-tabs button{border:none;border-radius:12px;padding:11px 12px;background:#e4f1f9;color:#2f5f7d;font-weight:700;cursor:pointer}.account-mode-tabs button.active{background:linear-gradient(135deg,#ffe66d,#7ad7ff);color:#0d3a58}.account-login label{display:grid;gap:6px;margin-bottom:12px;font-size:.85rem;font-weight:600;color:#2f5f7d}.account-login input{width:100%;padding:12px 14px;border-radius:12px;border:2px solid #d5e8f4;font-size:1rem;color:#163e5c;background:#f7fbff;box-sizing:border-box}.account-login form button[type=submit]{width:100%;margin-top:8px;padding:13px 16px;border:none;border-radius:14px;font-size:1rem;font-weight:700;color:#163e5c;background:linear-gradient(135deg,#ffe66d,#7ad7ff);cursor:pointer}.account-login form button[type=submit]:disabled{opacity:.7;cursor:wait}.account-error{color:#c92a2a;font-size:.88rem;margin:0 0 8px}.admin-accounts{display:grid;gap:18px;width:100%}.admin-accounts-panel h2{margin:0 0 8px;font-size:1.2rem}.access-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px;margin:14px 0 18px}.access-hosting-note{margin:0 0 16px;padding:12px 14px;border-radius:14px;background:#7ad7ff1f;font-size:.88rem;line-height:1.45}.access-hosting-note h3{margin:0 0 6px;font-size:.95rem}.access-hosting-note ul{margin:8px 0 0;padding-left:18px}.access-summary-grid div{background:#ffffff14;border-radius:12px;padding:12px 10px;text-align:center}.access-summary-grid strong{display:block;font-size:1.35rem}.access-summary-grid span{font-size:.75rem;opacity:.8}.access-generate{display:grid;grid-template-columns:140px 90px 1fr auto;gap:10px;align-items:end}.access-generate label{display:grid;gap:6px;font-size:.82rem;font-weight:600}.access-generate input,.access-generate select{width:100%;padding:10px 12px;border-radius:10px;border:none;font-size:.95rem;color:#1a4a6e}.access-created{margin-top:16px;padding:12px;border-radius:14px;background:#ffe66d26}.access-created h3{margin:0 0 10px;font-size:.95rem}.access-created-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:8px}.access-created-row code{background:#00000040;padding:4px 8px;border-radius:8px}.access-table-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.access-table-wrap{overflow-x:auto}.access-table{width:100%;border-collapse:collapse;font-size:.85rem}.access-table th,.access-table td{text-align:left;padding:10px 8px;border-bottom:1px solid rgba(255,255,255,.1);vertical-align:top}.access-table th{opacity:.75;font-weight:600}.access-note{margin-top:4px;font-size:.75rem;opacity:.75}.access-linkish{background:none;border:none;color:#9fe7ff;font:inherit;font-weight:700;cursor:pointer;padding:0;text-align:left}.access-pill{display:inline-block;padding:3px 8px;border-radius:999px;font-size:.75rem;font-weight:700;background:#ffffff1f}.access-pill.active,.access-pill.ready{background:#51cf6640}.access-pill.expired{background:#ff922b47}.access-pill.disabled{background:#ff6b6b47}.access-actions{display:flex;flex-wrap:wrap;gap:6px}.access-logs{padding:8px 4px 12px;font-size:.82rem;opacity:.95}.access-email-edit{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-bottom:10px}.access-email-edit label{display:grid;gap:4px;flex:1;min-width:220px;font-size:.85rem;font-weight:600}.access-email-edit input{padding:8px 10px;border-radius:8px;border:1px solid #c5dcec}.access-logs h4{margin:10px 0 6px}.access-logs ul{margin:0;padding-left:18px}.access-activity{list-style:none;margin:0;padding:0;display:grid;gap:8px}.access-activity li{display:grid;grid-template-columns:160px 140px 140px 1fr;gap:8px;font-size:.82rem;padding:8px 10px;border-radius:10px;background:#ffffff0f}@media(max-width:900px){.access-generate{grid-template-columns:1fr 1fr}.access-note-field,.access-generate button{grid-column:1 / -1}.access-activity li{grid-template-columns:1fr}}.users-admin-page .users-admin-brand{margin:0 0 4px;font-size:.85rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#3d7a9e}.users-admin-page .admin-login-card label{display:grid;gap:6px;margin-bottom:12px;font-size:.85rem;font-weight:600;color:#2f5f7d;text-align:left}.users-admin-page .admin-login-card label input{width:100%;box-sizing:border-box}.users-admin-session{align-self:center;font-size:.85rem;color:#4d7390;margin-right:4px}.users-admin-intro{max-width:1100px;margin:0 auto 16px;padding:0 20px;color:#4d7390;font-size:.95rem;line-height:1.45}.users-admin-intro a{color:#0d5a82;font-weight:700}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;height:100dvh}body{overflow:hidden;font-family:Fredoka,system-ui,sans-serif;-webkit-font-smoothing:antialiased}#root{overflow:hidden}body.upload-route,body.upload-route #root{overflow:auto;height:auto;min-height:100%}button{font-family:inherit;cursor:pointer;border:none;outline:none}input{font-family:inherit;outline:none}
