:root{--sky-top: #4a86d4;--sky-bottom: #cfe8f7;--ink: #1c2733;--card-bg: rgba(255, 255, 255, .82);--accent: #34a853;--accent-dark: #2b8c45;--glass: rgba(20, 30, 45, .45);--radius: 20px;font-size:16px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden;overscroll-behavior:none;touch-action:none;user-select:none;-webkit-user-select:none;font-family:-apple-system,Segoe UI,Roboto,Helvetica Neue,system-ui,sans-serif;color:var(--ink);background:#000}#game{position:fixed;inset:0;width:100%;height:100%;display:block}.hidden{display:none!important}#crosshair{position:fixed;left:50%;top:50%;width:22px;height:22px;transform:translate(-50%,-50%);pointer-events:none;mix-blend-mode:difference}#crosshair:before,#crosshair:after{content:"";position:absolute;background:#fff;border-radius:2px}#crosshair:before{left:50%;top:0;width:2px;height:100%;transform:translate(-50%)}#crosshair:after{top:50%;left:0;height:2px;width:100%;transform:translateY(-50%)}#hotbar{position:fixed;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translate(-50%);display:flex;gap:8px;padding:8px;background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.18);border-radius:18px;box-shadow:0 8px 30px #00000059}.slot{position:relative;width:56px;height:56px;border-radius:12px;background:#ffffff14;border:2px solid transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}.slot canvas{width:42px;height:42px;image-rendering:pixelated}.slot .num{position:absolute;top:2px;left:6px;font-size:10px;font-weight:700;color:#ffffff8c}.slot.selected{border-color:#fff;background:#ffffff38;transform:translateY(-6px) scale(1.08);box-shadow:0 6px 18px #00000059,0 0 0 4px #ffffff26}@media (max-width: 720px){#hotbar{gap:5px;padding:6px}.slot{width:44px;height:44px;border-radius:10px}.slot canvas{width:34px;height:34px}}#toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%);padding:8px 18px;background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;font-weight:700;font-size:15px;border-radius:999px;opacity:0;pointer-events:none;transition:opacity .25s ease}#toast.show{opacity:1}#saveToast{position:fixed;right:16px;bottom:max(16px,env(safe-area-inset-bottom));padding:6px 14px;background:#34a853d9;color:#fff;font-size:13px;font-weight:700;border-radius:999px;opacity:0;pointer-events:none;transition:opacity .4s ease}#saveToast.show{opacity:1}#btnMenu{position:fixed;top:max(12px,env(safe-area-inset-top));right:12px;width:46px;height:46px;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;font-size:22px;cursor:pointer;transition:transform .15s ease}#btnMenu:active{transform:scale(.92)}#btnMap{position:fixed;top:max(12px,env(safe-area-inset-top));right:66px;width:46px;height:46px;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;font-size:20px;cursor:pointer;transition:transform .15s ease}#btnMap:active{transform:scale(.92)}#btnPhoto{position:fixed;top:max(12px,env(safe-area-inset-top));right:120px;width:46px;height:46px;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;font-size:20px;cursor:pointer;transition:transform .15s ease}#btnPhoto:active{transform:scale(.92)}#photoFlash{position:fixed;inset:0;background:#fff;opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:8}#photoFlash.show{opacity:.85;transition:opacity .04s ease}#map{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0f192880;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9}.mapCard{background:var(--card-bg);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius);box-shadow:0 24px 80px #0a1e3c66;padding:16px;text-align:center;animation:cardIn .35s cubic-bezier(.2,.9,.3,1.15)}.mapTitle{font-weight:800;font-size:17px;margin-bottom:10px}#mapCanvas{width:min(70vmin,448px);height:min(70vmin,448px);border-radius:12px;image-rendering:pixelated;box-shadow:inset 0 0 0 1px #00000026}.mapHint{margin-top:10px;font-size:12.5px;color:#1c27338c;font-weight:600}#treasureBadge{position:fixed;top:max(52px,calc(env(safe-area-inset-top) + 38px));left:14px;padding:5px 12px;background:#f4c14fd9;border-radius:999px;color:#5a3c10;font-size:13px;font-weight:800;pointer-events:none}#presenceBadge{position:fixed;top:max(90px,calc(env(safe-area-inset-top) + 76px));left:14px;padding:5px 12px;background:#2e6fd8d9;border-radius:999px;color:#fff;font-size:13px;font-weight:800;pointer-events:none}#versionBadge{position:fixed;top:max(14px,env(safe-area-inset-top));left:14px;padding:5px 12px;background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:999px;color:#ffffffd9;font-size:12px;font-weight:700;letter-spacing:.4px;pointer-events:none}#joyBase{position:fixed;width:128px;height:128px;border-radius:50%;background:#ffffff14;border:2px solid rgba(255,255,255,.25);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .2s ease}#joyBase.active{opacity:1}#joyStick{position:absolute;left:50%;top:50%;width:54px;height:54px;border-radius:50%;background:#ffffffbf;box-shadow:0 4px 14px #0000004d;transform:translate(-50%,-50%)}#btnJump{position:fixed;right:22px;bottom:max(118px,calc(env(safe-area-inset-bottom) + 108px));width:92px;height:92px;border-radius:50%;border:2px solid rgba(255,255,255,.35);background:var(--glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font-size:38px;font-weight:800;cursor:pointer;display:none;transition:transform .1s ease,background .1s ease}#btnJump:active{transform:scale(.9);background:#ffffff40}body.touch #btnJump{display:block}body.touch #crosshair{opacity:.85}#btnFly,#btnDown{position:fixed;border-radius:50%;border:2px solid rgba(255,255,255,.3);background:var(--glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;font-weight:800;cursor:pointer;display:none;transition:transform .1s ease,background .1s ease}#btnFly{right:42px;bottom:max(224px,calc(env(safe-area-inset-bottom) + 214px));width:66px;height:66px;font-size:28px}#btnDown{right:126px;bottom:max(130px,calc(env(safe-area-inset-bottom) + 120px));width:70px;height:70px;font-size:30px}#btnFly:active,#btnDown:active{transform:scale(.9);background:#ffffff40}body.touch #btnFly,body.touch.flying #btnDown{display:block}body.flying #btnFly{background:#78c8ff73;border-color:#ffffffb3}#touchRing{position:fixed;width:68px;height:68px;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;display:none;-webkit-mask:radial-gradient(circle,transparent 24px,#000 25px);mask:radial-gradient(circle,transparent 24px,#000 25px)}#touchRing.active{display:block}#underwater{position:fixed;inset:0;background:#1e5abe52;pointer-events:none;opacity:0;transition:opacity .25s ease}#underwater.show{opacity:1}#splash,#pause{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;z-index:10}#splash{background:radial-gradient(1200px 600px at 50% 115%,rgba(255,255,255,.35),transparent 60%),linear-gradient(180deg,var(--sky-top) 0%,#7db1e8 55%,var(--sky-bottom) 100%)}#pause{background:#0f192873;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.card{width:min(440px,94vw);max-height:92vh;overflow-y:auto;background:var(--card-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius);box-shadow:0 24px 80px #0a1e3c59;padding:28px 28px 24px;text-align:center;animation:cardIn .5s cubic-bezier(.2,.9,.3,1.2)}@keyframes cardIn{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:none}}.logo{font-size:54px;line-height:1;margin-bottom:6px;animation:bob 3s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.card h1{font-size:40px;font-weight:800;letter-spacing:-.5px;background:linear-gradient(135deg,#2c6fbe,#34a853);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.card h2{font-size:26px;font-weight:800;margin-bottom:18px}.chip{display:inline-block;margin:10px 0 14px;padding:5px 14px;background:#2c6fbe1f;color:#2c6fbe;border-radius:999px;font-size:13px;font-weight:700}#whatsnew{list-style:none;text-align:left;margin:0 auto 18px;max-width:360px}#whatsnew li{padding:7px 0 7px 26px;position:relative;font-size:14.5px;line-height:1.35;opacity:0;animation:itemIn .45s ease forwards}#whatsnew li:before{content:"✦";position:absolute;left:4px;color:var(--accent)}#whatsnew li:nth-child(1){animation-delay:.15s}#whatsnew li:nth-child(2){animation-delay:.27s}#whatsnew li:nth-child(3){animation-delay:.39s}#whatsnew li:nth-child(4){animation-delay:.51s}#whatsnew li:nth-child(5){animation-delay:.63s}#whatsnew li:nth-child(6){animation-delay:.75s}#whatsnew li:nth-child(7){animation-delay:.87s}@keyframes itemIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}#loadRow{margin:4px 0 14px}#loadBar{height:8px;border-radius:999px;background:#1c27331f;overflow:hidden;margin-bottom:6px}#loadBar i{display:block;height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,#2c6fbe,#34a853);transition:width .15s ease}#loadText{font-size:12.5px;color:#1c273399;font-weight:600}.card button{display:block;width:100%;margin:8px 0;padding:14px 18px;border:none;border-radius:14px;font-size:16px;font-weight:700;font-family:inherit;background:#1c273312;color:var(--ink);cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.card button:hover{background:#1c27331f}.card button:active{transform:scale(.97)}#btnPlay,.card button.primary{background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;font-size:19px;padding:16px;box-shadow:0 10px 24px #34a85366}#btnPlay:hover,.card button.primary:hover{background:linear-gradient(135deg,#3cb95d,var(--accent));box-shadow:0 12px 28px #34a85380}#btnPlay:disabled{background:#1c27332e;color:#ffffffb3;box-shadow:none;cursor:wait}#profileSelect{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(1200px 600px at 50% 115%,rgba(255,255,255,.35),transparent 60%),linear-gradient(180deg,var(--sky-top) 0%,#7db1e8 55%,var(--sky-bottom) 100%);z-index:12}#profileButtons{display:flex;gap:16px;justify-content:center;margin-top:10px}.profileBtn{display:flex!important;flex-direction:column;align-items:center;gap:6px;width:150px!important;padding:22px 10px!important;font-size:56px!important;border-radius:20px!important;background:#2c6fbe1a!important;transition:transform .15s ease,background .15s ease!important}.profileBtn span{font-size:22px;font-weight:800;color:var(--ink)}.profileBtn:hover{background:#34a8532e!important;transform:scale(1.05)}#picker{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0f192880;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:10}#pickerGrid{display:grid;grid-template-columns:repeat(5,84px);gap:10px;max-height:60vh;overflow-y:auto;padding:4px}.pickCell{display:flex;flex-direction:column;align-items:center;padding:8px 4px 6px;border-radius:12px;background:#1c27330f;cursor:pointer;transition:transform .12s ease,background .12s ease}.pickCell:hover{background:#1c273324;transform:scale(1.05)}.pickCell canvas{width:44px;height:44px}.pickCell span{font-size:10.5px;font-weight:700;color:#1c2733bf;text-align:center;line-height:1.15;margin-top:3px}@media (max-width: 700px){#pickerGrid{grid-template-columns:repeat(4,76px)}}#nameDialog{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0f192873;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:11}#petNameInput{width:100%;padding:14px 18px;margin:6px 0 10px;border:2px solid rgba(44,111,190,.35);border-radius:14px;font-size:20px;font-weight:700;font-family:inherit;text-align:center;color:var(--ink);background:#ffffffe6;outline:none}#petNameInput:focus{border-color:var(--accent)}#nameIdeas{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:10px}.chipBtn{padding:8px 14px!important;width:auto!important;display:inline-block!important;margin:0!important;border-radius:999px!important;font-size:14px!important;background:#2c6fbe1f!important;color:#2c6fbe!important}.hints{margin-top:14px;font-size:12.5px;line-height:1.6;color:#1c27338c;font-weight:600}
