@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./fredoka-latin-wght-normal-DM6njrJ3.woff2)format("woff2")}:root{color:#fff;font-synthesis:none;--ink:#24303b;--line:#24303b;--yellow:#ffdf48;font-family:Fredoka Variable,Arial Rounded MT Bold,Arial,sans-serif;font-weight:600}*{box-sizing:border-box}html,body{overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none;background:#82c5f2;width:100%;height:100%;margin:0;overflow:hidden}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:focus-visible{outline-offset:3px;outline:4px solid #fff}#game{width:100%;height:100%;display:block;position:absolute;inset:0}#interface{pointer-events:none;z-index:5;position:absolute;inset:0}.interactive,button,input{pointer-events:auto}.hidden{display:none!important}#world-labels{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}.world-label{text-align:center;white-space:pre;transform-origin:50% 100%;paint-order:stroke fill;-webkit-text-stroke:4px #223037;text-shadow:0 3px #223037;will-change:transform;font-size:24px;font-weight:700;line-height:1.02;position:absolute;top:0;left:0}.hud-title{top:max(15px,env(safe-area-inset-top));color:#ffe760;-webkit-text-stroke:5px #283033;paint-order:stroke fill;text-shadow:0 4px #283033;font-size:clamp(19px,2.4vw,34px);font-weight:700;line-height:.93;position:absolute;left:20px;transform:rotate(-3deg)}.hud-title small{color:#fff;letter-spacing:3px;-webkit-text-stroke:3px #283033;margin-top:8px;font-size:.47em;display:block}.tutorial{top:max(18px,env(safe-area-inset-top));text-align:center;color:#263b29;background:linear-gradient(#e7ffb8,#a4e35b);border:3px solid #324333;border-radius:8px;min-width:280px;max-width:43%;padding:10px 18px 12px;font-size:18px;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 4px #273a39}.tutorial strong{text-transform:uppercase;letter-spacing:2px;color:#4b7638;margin-bottom:3px;font-size:11px;display:block}.tutorial:before{content:"";border:8px solid #0000;border-top-color:#a4e35b;position:absolute;top:100%;left:calc(50% - 8px)}.wave-status{text-align:center;background:#173c5ccb;border:2px solid #75dfff;border-radius:9px;min-width:170px;padding:10px 16px;position:absolute;top:20px;right:20px;box-shadow:0 3px #184557}.wave-status small{letter-spacing:1.8px;color:#a9eaff;font-size:10px;display:block}.wave-status strong{font-size:22px}.nav{gap:9px;display:grid;position:absolute;top:50%;left:18px;transform:translateY(-52%)}.nav button{color:#fff;text-shadow:0 2px #24323b;background:linear-gradient(#67d4fa,#289bc9);border:3px solid #27323e;border-radius:10px;width:79px;height:66px;font-size:12px;box-shadow:0 4px #27323e}.nav button svg{fill:currentColor;stroke:#234558;stroke-width:1.5px;width:31px;height:29px;margin:0 auto 3px;display:block}.nav button:nth-child(2){background:linear-gradient(#d99afa,#a25cdb)}.nav button:nth-child(3){background:linear-gradient(#ffe36b,#eeab32)}.nav button:nth-child(4){background:linear-gradient(#a5f66a,#69ba32)}.nav button:hover{filter:brightness(1.12);transform:translateY(-1px)}.wallet{paint-order:stroke fill;-webkit-text-stroke:5px #21322e;text-shadow:0 4px #21322e;color:#83ff56;font-size:35px;font-weight:700;line-height:1.05;position:absolute;bottom:29px;left:22px}.wallet small{color:#dca0ff;-webkit-text-stroke:4px #34304a;margin-bottom:8px;font-size:23px;display:block}.wallet span{color:#fff;-webkit-text-stroke:3px #21322e;letter-spacing:1px;margin-top:8px;font-size:12px;display:block}.hotbar{bottom:max(24px,env(safe-area-inset-bottom));align-items:end;gap:8px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.hotbar button{color:#fff;background:#344450d9;border:3px solid #273440;border-radius:8px;min-width:69px;padding:11px 13px;font-size:13px;box-shadow:0 4px #24303b}.hotbar button.primary{color:#253918;background:linear-gradient(#e9ff74,#9dd837);min-width:165px;max-width:240px}.key{color:#27313c;vertical-align:middle;background:#eef8ee;border:1px solid #627588;border-radius:4px;place-items:center;width:23px;height:23px;margin-right:7px;font-size:14px;display:inline-grid}.status{letter-spacing:1px;text-shadow:0 2px 2px #152637;font-size:10px;position:absolute;bottom:10px;right:18px}.top-actions{gap:7px;display:flex;position:absolute;top:100px;right:20px}.top-actions button{color:#fff;background:#24425dcc;border:2px solid #92bfd8;border-radius:7px;height:36px;padding:0 11px;font-size:12px}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto;background:#162b464f;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.dialog{color:#263b4d;background:#ecf5fc;border:4px solid #2f465b;border-radius:15px;flex-direction:column;width:min(840px,94vw);max-height:85vh;display:flex;position:relative;overflow:hidden;box-shadow:0 9px #22374a,0 18px 90px #173a5966}.dialog-head{color:#fff;-webkit-text-stroke:3px #2d5468;paint-order:stroke fill;text-shadow:0 3px #2d5468;background:linear-gradient(#beecff,#7ccce8);border-bottom:3px solid #2f465b;justify-content:space-between;align-items:center;padding:17px 23px;font-size:27px;display:flex}.close{color:#fff;background:#ee6d5c;border:3px solid #8a493e;border-radius:5px;width:36px;height:36px;font-size:24px;line-height:1}.dialog-body{touch-action:pan-y;overscroll-behavior:contain;padding:22px;overflow:auto}.dialog-body p{font-size:15px}.tabs{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.tabs button{color:#304b60;background:#d8e6ee;border:2px solid #9eb4c2;border-radius:7px;padding:8px 12px}.tabs button.selected{background:#bbec82;border-color:#6a9e3d}.catalog{grid-template-columns:repeat(auto-fill,minmax(127px,1fr));gap:12px;display:grid}.pet-card{text-align:center;background:#dbedf2;border:3px solid #99bfca;border-radius:10px;min-height:164px;padding:9px;position:relative}.pet-card.locked{background:#e4edf2}.pet-card.locked:after{content:"?";color:#fff;background:#344a62;border-radius:50%;width:20px;height:20px;font-size:14px;position:absolute;top:5px;right:8px}.pet-card strong{margin:7px 0;font-size:14px;line-height:1.1;display:block}.pet-card small{color:#556c7b;font-size:11px;display:block}.pet-glyph{color:#4c83be;text-shadow:0 2px #fff;font-size:44px;line-height:60px}.pet-card button{color:#304321;background:#a1e863;border:2px solid #65993c;border-radius:5px;margin-top:8px;padding:5px 8px;font-size:12px}.pet-card.selected{outline:4px solid #bb6efa}.small-note{color:#5b7486;font-family:Nunito,Arial,sans-serif;font-size:13px}.upgrade-grid{gap:12px;display:grid}.upgrade-row{background:#fff;border:2px solid #c8dce4;border-radius:9px;justify-content:space-between;align-items:center;gap:18px;padding:15px;display:flex}.upgrade-row strong{font-size:19px;display:block}.upgrade-row small{color:#6c8190;margin-top:4px;display:block}.buy{color:#324821;background:linear-gradient(#caff7a,#92d33c);border:3px solid #608e31;border-radius:7px;min-width:115px;padding:10px 18px;font-size:18px;box-shadow:0 3px #608e31}.buy:disabled{filter:saturate(.1);opacity:.6;cursor:default}.footer-action{text-align:center;margin-top:18px}.toast{color:#263c20;text-align:center;background:#bcf46c;border:3px solid #33552e;border-radius:9px;max-width:650px;padding:12px 22px;font-size:20px;position:absolute;top:29%;left:50%;transform:translate(-50%);box-shadow:0 4px #29402d}.toast.error{color:#6f432d;background:#fff0c7;border-color:#8d6e3d;box-shadow:0 4px #614a35}.start .dialog{text-align:center;width:460px}.start .dialog-head{justify-content:center}.start h1{color:#ddab25;-webkit-text-stroke:3px #4a5935;paint-order:stroke fill;margin:10px 0;font-size:44px;line-height:.95}.start p{font-size:18px;line-height:1.5}.start input{text-align:center;color:#354f60;background:#fff;border:3px solid #b6cbd8;border-radius:8px;width:100%;margin:12px 0;padding:12px;font-size:20px}.start .buy{width:100%;font-size:26px}.reveal-name{text-align:center;font-size:30px}.reveal-spark{text-align:center;padding:22px;font-size:70px}.hint{color:#526d7d;text-align:center;font-size:13px}.joystick{pointer-events:auto;touch-action:none;background:#ffffff35;border:3px solid #ffffff80;border-radius:50%;width:114px;height:114px;display:none;position:absolute;bottom:110px;left:25px}.joystick i{background:#edfaffae;border:3px solid #4a7790;border-radius:50%;width:46px;height:46px;position:absolute;top:31px;left:31px}.touch-jump{color:#365066;background:#efffff80;border:3px solid #eef8ff;border-radius:50%;width:74px;height:74px;font-size:15px;display:none;position:absolute;bottom:116px;right:25px}.debug-line{color:#fff;text-shadow:0 1px #000;font:11px monospace;position:absolute;bottom:34px;right:15px}.catalog>p{grid-column:1/-1}.pet-portrait{object-fit:contain;filter:drop-shadow(0 5px 2px #365d6d24);color:#0000;width:100%;height:112px;display:block}.pet-portrait:not([data-rendered]){background:radial-gradient(#acc7d66b,#0000 65%);animation:1.2s ease-in-out infinite portrait-loading}.reveal-spark{background:radial-gradient(ellipse,var(--rarity),transparent 70%);width:290px;height:270px;margin:auto;padding:0;position:relative}.reveal-spark .pet-portrait{height:100%;animation:.55s cubic-bezier(.2,.9,.3,1.3) reveal-model}@keyframes reveal-model{0%{transform:scale(.4)rotate(-12deg)}to{transform:scale(1)rotate(0)}}@keyframes portrait-loading{50%{opacity:.4}}@media (max-width:620px){.pet-portrait{height:89px}.reveal-spark{width:220px;height:210px}}@media (prefers-reduced-motion:reduce){.pet-portrait,.reveal-spark .pet-portrait{animation:none!important}}.index-search{align-items:center;gap:16px;margin-bottom:14px;font-size:13px;display:flex}.index-search input{color:#294454;-webkit-user-select:text;user-select:text;background:#fff;border:2px solid #aac7d7;border-radius:7px;flex:1;min-width:0;padding:9px 12px}@media (max-width:620px){.index-search{display:block}.index-search input{width:100%;margin-top:5px;display:block}}.world-action{pointer-events:auto;background:0 0;border:0;padding:8px;font-family:inherit}.world-action:hover{filter:brightness(1.25)}.world-action:focus-visible{border-radius:5px;outline:3px solid #b5ff70}.base-preview{gap:10px;margin:22px 0;display:grid}.base-floor{background:#d2e9f4;border:2px solid #6d9db5;border-bottom:7px solid #428db4;border-radius:6px;padding:12px}.base-floor strong{color:#42718c;font-size:12px}.base-floor>div{grid-template-columns:repeat(10,1fr);gap:7px;margin-top:10px;display:grid}.base-floor span{color:#80929c;background:#e2e8eb;border:2px solid #9aaeb9;border-radius:4px;place-items:center;min-height:36px;display:grid}.base-floor .owned{color:#25546d;background:#8ee1ff;border-color:#3896c0}.base-floor .new{color:#3e5b1e;background:#bff179;border-color:#6d9a36}@media (max-width:620px){.base-floor>div{gap:3px}.base-floor span{min-height:24px;font-size:11px}}.collection-overview{justify-content:space-between;gap:16px;margin-bottom:16px;font-size:13px;display:flex}.collection-overview span{color:#548238}.collection-filters{align-items:start;gap:12px;display:flex}.collection-filters .index-search{flex:1;display:block}.collection-filters .index-search input{width:100%;margin-top:6px;display:block}.category-filter{min-width:180px;font-size:13px}.category-filter select{width:100%;font:inherit;color:#294454;pointer-events:auto;background:#fff;border:2px solid #aac7d7;border-radius:7px;margin-top:6px;padding:9px 10px;display:block}.index-card{color:#263b4d;transition:transform .1s}.index-card:hover{background:#c7e8f2;transform:translateY(-2px)}.index-card .reward-ready{color:#4a792a;font-weight:700}.index-back{color:#3a5c6d;background:#d9ebf3;border:2px solid #9db9c9;border-radius:6px;margin-bottom:16px;padding:7px 12px}.species-detail{grid-template-columns:1fr 1fr;align-items:center;gap:28px;display:grid}.species-model{background:radial-gradient(ellipse,var(--rarity),transparent 72%);border-radius:16px;min-width:0}.species-model>.pet-portrait{filter:drop-shadow(0 10px 5px #223b4f26);max-width:100%;height:300px}.model-rotation{color:#557084;justify-content:center;align-items:center;gap:20px;font-size:11px;display:flex}.model-rotation button{color:#315166;background:#eaf4f9;border:2px solid #9dbacb;border-radius:6px;width:42px;height:36px;font-size:25px}.rarity-tag{background:#fff;border:3px solid;border-radius:5px;padding:5px 10px;font-size:12px;display:inline-block}.species-info h2{margin:15px 0 8px;font-size:23px}.species-info h3{letter-spacing:1px;color:#5b7d90;margin:17px 0 7px;font-size:11px}.species-info p{margin:7px 0;font-size:13px;line-height:1.6}.species-info .species-rate{color:#467a31;font-size:27px;font-weight:700}.species-rate small{color:#698a5d;margin-left:6px;font-size:12px}.discovery-reward{background:#e4efd6;border:2px solid #b9d691;border-radius:10px;margin-top:15px;padding:14px}.discovery-reward h3{color:#527531;margin:0 0 10px}.discovery-reward>div{color:#487226;justify-content:space-between;gap:12px;margin-bottom:14px;font-size:18px;display:flex}.discovery-reward .buy{width:100%;font-size:15px}.index-card[hidden]{display:none}@media (max-width:620px){.collection-overview{line-height:1.6;display:block}.collection-overview span,.collection-filters{display:block}.category-filter{margin-bottom:13px;display:block}.species-detail{grid-template-columns:1fr;gap:14px}.species-model>.pet-portrait{height:230px}.species-info h2{font-size:21px}.species-info{padding:0 4px}.species-info .species-rate{font-size:24px}}.index-search-field{position:relative}.collection-filters .index-search-field input{padding-right:40px}.index-clear{color:#35596b;background:#e4edf2;border:0;border-radius:5px;width:32px;height:31px;font-size:22px;position:absolute;top:4px;right:5px}.index-clear[hidden]{display:none}.status #reconnect{color:#254657;vertical-align:middle;background:#d9f1ff;border:1px solid #a6d4e5;border-radius:4px;margin-left:10px;padding:5px 9px;font-size:11px}.status.disconnected{text-align:center;z-index:30;background:#18384cf2;border:2px solid #9ddbec;border-radius:10px;width:min(440px,90%);padding:24px;font-size:15px;line-height:1.5;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.status.disconnected #reconnect{margin:15px auto 0;padding:10px 20px;font-size:16px;display:block}@media (any-pointer:coarse),(max-width:760px),(max-height:500px) and (max-width:1000px){.joystick,.touch-jump{display:block}.key{display:none}.hotbar{bottom:max(26px,env(safe-area-inset-bottom));gap:6px}.hotbar button{min-width:60px;min-height:46px;padding:9px 11px;font-size:12px}.hotbar button.primary{min-width:126px;max-width:200px}.nav{gap:8px;left:12px}.nav button{width:60px;height:54px;font-size:10px}.nav button svg{width:23px;height:23px;margin-bottom:2px}.hud-title{font-size:22px;left:14px}.tutorial{min-width:230px;max-width:42%;padding:8px 13px;font-size:13px}.tutorial strong{letter-spacing:1px;font-size:9px}.wave-status{right:12px;top:max(12px,env(safe-area-inset-top));min-width:120px;padding:7px}.wave-status strong{font-size:16px}.wave-status small{letter-spacing:1px;font-size:9px}.top-actions{top:76px;right:12px}.top-actions button{min-height:44px;font-size:11px}.wallet{font-size:27px;bottom:88px;left:16px}.wallet small{margin-bottom:6px;font-size:16px}.wallet span{letter-spacing:0;margin-top:6px;font-size:10px}.status{bottom:max(6px,env(safe-area-inset-bottom));letter-spacing:.4px;font-size:9px}.world-label{font-size:19px}.close,.model-rotation button,.index-back,.tabs button{min-width:44px;min-height:44px}.joystick{width:110px;height:110px;bottom:180px;left:20px}.joystick i{pointer-events:none;top:29px;left:29px}.touch-jump{width:76px;height:76px;bottom:174px;right:22px}}@media (max-width:760px){.hud-title{left:max(12px,env(safe-area-inset-left));top:max(12px,env(safe-area-inset-top));max-width:46%;font-size:18px}.hud-title small{letter-spacing:1px;font-size:8px}.wave-status{right:max(12px,env(safe-area-inset-right));min-width:110px;max-width:46%}.top-actions{top:68px;right:max(12px,env(safe-area-inset-right));flex-direction:row;gap:6px}.top-actions button{padding:0 10px}.tutorial{width:calc(100% - 36px);min-width:0;max-width:none;min-height:58px;padding:8px 12px;font-size:13px;top:126px}.nav{top:208px;left:max(12px,env(safe-area-inset-left));gap:8px;transform:none}.nav button{width:58px;height:53px}.hotbar{justify-content:center;align-items:stretch;gap:5px;width:calc(100% - 24px);bottom:28px}.hotbar button{flex:1;min-width:0;padding:9px 6px;font-size:11px}.hotbar button.primary{flex:1.8;min-width:0;max-width:none}.wallet{left:max(16px,env(safe-area-inset-left));font-size:26px;bottom:91px}.wallet small{font-size:15px}.status{text-align:center;white-space:nowrap;text-overflow:ellipsis;left:12px;right:12px;overflow:hidden}.overlay{padding:12px}.dialog{width:100%;max-width:100%;max-height:calc(100dvh - 28px)}.dialog-head{padding:10px 13px;font-size:21px}.dialog-body{min-height:0;padding:13px}.dialog-body p{font-size:14px}.catalog{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.pet-card{padding:6px}.pet-card strong{font-size:11px}.pet-card button{min-height:44px}.start .dialog{width:100%}.start h1{font-size:36px}.start p{font-size:15px}.toast{width:max-content;max-width:calc(100% - 24px);font-size:16px;top:26%}}@media (max-width:760px) and (max-height:740px) and (orientation:portrait){.tutorial{min-height:52px;padding:6px 10px;font-size:12px;top:112px}.top-actions{top:59px}.nav{gap:6px;top:184px}.nav button{width:53px;height:47px;font-size:9px}.nav button svg{width:20px;height:20px}.joystick{width:100px;height:100px;bottom:170px}.joystick i{top:24px;left:24px}.touch-jump{width:68px;height:68px;bottom:170px}}@media (max-width:760px) and (max-height:680px) and (orientation:portrait){.nav{grid-template-columns:repeat(2,53px)}}@media (max-width:1000px) and (max-height:500px) and (orientation:landscape){.hud-title{left:max(12px,env(safe-area-inset-left));top:max(12px,env(safe-area-inset-top));font-size:18px}.hud-title small{letter-spacing:1px;font-size:8px}.tutorial{width:min(38%,320px);min-width:0;max-width:none;min-height:0;padding:6px 10px;font-size:12px;top:12px}.wave-status{right:max(12px,env(safe-area-inset-right));min-width:112px;top:12px}.top-actions{right:max(12px,env(safe-area-inset-right));flex-direction:row;gap:6px;top:68px}.top-actions button{min-height:40px;padding:0 8px;font-size:10px}.nav{left:max(12px,env(safe-area-inset-left));gap:6px;top:83px;transform:none}.nav button{width:52px;height:46px;font-size:9px}.nav button svg{width:19px;height:19px}.wallet{left:auto;right:max(18px,env(safe-area-inset-right));text-align:right;font-size:23px;top:123px;bottom:auto}.wallet small{margin-bottom:4px;font-size:13px}.wallet span{margin-top:4px;font-size:9px}.hotbar{gap:5px;width:min(52%,430px);bottom:25px}.hotbar button{flex:1;min-width:0;min-height:44px;padding:7px 6px;font-size:10px}.hotbar button.primary{flex:1.7;min-width:0}.joystick{width:98px;height:98px;bottom:76px;left:84px}.joystick i{top:23px;left:23px}.touch-jump{width:65px;height:65px;font-size:13px;bottom:82px;right:28px}.status{text-align:center;font-size:8px;bottom:5px;left:15px;right:15px}.overlay{padding:10px}.dialog{max-height:calc(100dvh - 24px)}.dialog-head{padding:7px 12px;font-size:20px}.dialog-body{padding:12px}.start h1{font-size:28px}.start p{margin:8px 0;font-size:13px}.start input{margin:7px 0;padding:7px;font-size:17px}.start .buy{padding:7px;font-size:20px}.species-detail{grid-template-columns:1fr 1fr;gap:18px}.species-model>.pet-portrait{height:200px}}
