:root{--teal: #1f8f8a;--cream: #f5ead6;--amber: #ffb23f;--ink: #24160f;--sky: #f7c896;--chalk: #2d3b33;--wood: #8a5a35;--sign: "Bungee", system-ui, sans-serif;--text: "Inter Tight", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;overflow:hidden;background:var(--sky);color:var(--ink);font-family:var(--text);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:none}.stage{position:fixed;inset:0}.top{position:fixed;top:calc(env(safe-area-inset-top) + 10px);left:10px;right:10px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;pointer-events:none}.sign{pointer-events:auto;display:flex;align-items:stretch;width:100%;max-width:460px;background:var(--cream);border-radius:10px;overflow:hidden;box-shadow:0 4px #24160f4d}.sign h1{margin:0;display:flex;align-items:center;background:var(--teal);color:var(--cream);font:13px/1.05 var(--sign);padding:6px 9px 4px;flex:none}.sign .rows{flex:1;display:flex;justify-content:space-around;padding:6px 4px;gap:4px}.sign .row{display:flex;flex-direction:column;align-items:center;gap:3px;font:9px var(--sign);min-width:0}.sign .val{background:#151515;color:var(--amber);border-radius:5px;padding:2px 7px 0;font:17px var(--sign);white-space:nowrap}.days{pointer-events:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.days .label{display:none}.days .tabs{display:flex;gap:2px;background:#24160f38;padding:3px;border-radius:999px}.days button{border:0;border-radius:999px;padding:7px 11px 5px;white-space:nowrap;font:12px var(--sign);color:var(--ink);background:transparent;cursor:pointer}.days button[aria-pressed=true]{background:var(--cream);box-shadow:0 2px #24160f4d}.days .example{font:600 11px var(--text);background:var(--ink);color:var(--cream);padding:3px 8px;border-radius:6px}.card{position:fixed;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom) + 160px);max-width:420px;margin:0 auto;background:var(--chalk);color:#f3f1ea;border:10px solid var(--wood);border-radius:10px;padding:14px 16px 12px;box-shadow:0 6px 0 var(--ink);pointer-events:auto}.card h2{margin:0 0 4px;font:600 30px Caveat,cursive;line-height:1}.card p{margin:6px 0 0;font:15px/1.4 var(--text)}.card .tag{display:inline-block;margin-top:10px;font:12px var(--sign);background:var(--amber);color:var(--ink);padding:4px 8px;border-radius:6px}.card .close{position:absolute;top:6px;right:10px;border:0;background:transparent;color:#f3f1ea;font:22px var(--text);cursor:pointer}.hint{position:fixed;left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom) + 178px);text-align:center;font:600 14px var(--text);color:var(--ink);pointer-events:none;transition:opacity .6s}.follow{position:fixed;right:14px;bottom:calc(env(safe-area-inset-bottom) + 40px);background:var(--teal);color:var(--cream);font:14px var(--sign);padding:12px 16px 9px;border-radius:999px;text-decoration:none;box-shadow:0 4px 0 var(--ink)}.joy{position:fixed;left:22px;bottom:calc(env(safe-area-inset-bottom) + 28px);width:118px;height:118px;border-radius:50%;background:#f5ead659;border:2px solid rgba(245,234,214,.8);touch-action:none}.joy .knob{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:var(--cream);box-shadow:0 3px #24160f59}.loading{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:var(--sky);font:30px var(--sign);color:var(--teal);z-index:10}.loading p{margin:0;font:500 16px/1.4 system-ui,sans-serif;color:var(--ink, #24160f)}.loading .btn{width:auto;padding:12px 24px}.loading .bar{width:180px;height:10px;border-radius:999px;background:#24160f26;overflow:hidden}.loading .bar div{height:100%;background:var(--teal);transition:width .2s}.game-top{pointer-events:auto;display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;max-width:460px}.wallet{display:flex;flex-wrap:wrap;gap:4px}.chip{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 9px 0 6px;border:0;border-radius:999px;background:var(--ink);color:var(--cream);font:13px var(--sign);box-shadow:0 2px #24160f4d}.chip b{font-weight:400;padding-top:2px}.chip.pets{background:var(--teal);cursor:pointer}.chip .meter{width:36px;height:8px;border-radius:999px;background:#f5ead640;overflow:hidden}.chip .meter span{display:block;height:100%;background:var(--amber);transition:width .2s}.chip.bag.full{background:#b3391f;animation:nudge .9s ease-in-out infinite}.chip.bag.full .meter span{background:var(--cream)}@keyframes nudge{50%{transform:scale(1.07)}}.small{font:13px/1.4 var(--text);opacity:.8;margin:8px 0 0}.small.top0{margin:0 0 8px}.dim{opacity:.7;font-size:13px}.goal{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;max-width:100%;border:0;border-radius:10px;padding:6px 10px 5px;background:var(--cream);color:var(--ink);box-shadow:0 3px #24160f4d;cursor:pointer;text-align:left;overflow:hidden}.goal .fill{position:absolute;inset:0 auto 0 0;background:#ffb23f66;transition:width .3s}.goal .label,.goal .need{position:relative}.goal .label{font:12px var(--sign);text-transform:uppercase;color:var(--teal)}.need{display:inline-flex;align-items:center;gap:3px;font:600 13px var(--text);font-variant-numeric:tabular-nums}.need.ok{color:#2c7a3d}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:46px;border:0;border-radius:10px;padding:10px 14px 7px;background:var(--amber);color:var(--ink);font:15px var(--sign);text-transform:uppercase;box-shadow:0 4px 0 var(--ink);cursor:pointer}.btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 var(--ink)}.btn:disabled{background:#cfc4b0;color:#24160f8c;box-shadow:0 4px #24160f59;cursor:default}.btn.slim{width:auto;min-height:40px;padding:8px 11px 5px;font-size:12px;white-space:nowrap}.btn.ghost{background:var(--cream);box-shadow:0 4px 0 var(--ink),inset 0 0 0 2px var(--ink)}.link{border:0;padding:0;background:none;color:var(--teal);font:600 13px var(--text);text-decoration:underline;cursor:pointer}.sheet{position:fixed;left:10px;right:10px;bottom:calc(env(safe-area-inset-bottom) + 10px);z-index:6;max-width:440px;max-height:66vh;overflow-y:auto;margin:0 auto;background:var(--cream);color:var(--ink);border-radius:14px;padding:14px 14px 16px;box-shadow:0 6px 0 var(--ink);pointer-events:auto;touch-action:pan-y;font:14px/1.4 var(--text)}.sheet h2,.modal h2{margin:0;font:22px/1.1 var(--sign);text-transform:uppercase;color:var(--teal)}.sheet h3{margin:14px 0 6px;font:13px var(--sign);text-transform:uppercase;opacity:.7}.sheet .sub{margin:4px 30px 10px 0}.sheet .close{position:absolute;top:6px;right:8px;width:40px;height:40px;border:0;background:transparent;color:var(--ink);font:26px var(--text);cursor:pointer}.box{background:#24160f12;border-radius:10px;padding:10px 12px 14px;margin-top:8px}.box p{margin:0 0 10px}.box p.last{margin:0}.line{display:flex;align-items:center;gap:10px;padding:6px 0}.line .grow,.odds .grow,.level .grow{flex:1;min-width:0}.gem{flex:none;width:52px;height:52px;margin:-6px -4px;background:center / contain no-repeat}.geode-card{border-top:1px solid rgba(36,22,15,.12)}.odds{list-style:none;margin:0 0 8px;padding:8px 10px;border-radius:8px;background:#fff}.odds li{display:flex;align-items:center;gap:8px;padding:2px 0;font-variant-numeric:tabular-nums}.odds i,.rarity{flex:none}.odds i{width:10px;height:10px;border-radius:50%}.rarity{display:inline-block;padding:3px 8px 1px;border-radius:999px;color:#fff;font:11px var(--sign);text-transform:uppercase;vertical-align:middle}.rarity.big{font-size:14px;padding:5px 12px 3px}.levels{display:flex;flex-direction:column;gap:6px}.level{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:#24160f12}.level.here{background:#1f8f8a2e}.level.shut{opacity:.75}.level .depth{flex:none;width:34px;text-align:center;font:14px var(--sign);color:var(--teal)}.level .tag{font:11px var(--sign);color:var(--teal);white-space:nowrap}.pet-view{flex:none}.pet-stage{display:flex;align-items:center;gap:12px;padding:4px 12px 4px 4px;border:3px solid;border-radius:12px;background:#fff;margin-bottom:10px}.pet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.pet{position:relative;display:flex;flex-direction:column;gap:2px;padding:8px 8px 6px;border:0;border-left:5px solid;border-radius:8px;background:#fff;color:var(--ink);font:13px var(--text);text-align:left;cursor:pointer}.pet b{font-weight:700}.pet span{opacity:.75}.pet i{position:absolute;top:6px;right:7px;font:normal 11px var(--sign)}.pet[aria-pressed=true]{box-shadow:0 0 0 2px var(--ink)}.pet.unknown{background:#24160f12;cursor:default}.paint{margin-top:10px;display:flex;flex-direction:column;gap:8px}.swatches{display:flex;align-items:center;gap:8px;font:600 13px var(--text)}.swatches span{width:44px}.swatches button{width:36px;height:36px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px #24160f4d;cursor:pointer}.swatches button[aria-pressed=true]{box-shadow:0 0 0 3px var(--ink)}.veil{position:fixed;inset:0;z-index:8;display:flex;align-items:center;justify-content:center;padding:20px;background:#24160f8c;pointer-events:auto}.modal{width:100%;max-width:360px;background:var(--cream);border-radius:16px;padding:20px 18px 18px;box-shadow:0 6px 0 var(--ink);font:15px/1.45 var(--text)}.modal p{margin:8px 0 12px}.modal ol{margin:0 0 16px;padding-left:20px}.modal li{margin:5px 0}.modal.reveal{display:flex;flex-direction:column;align-items:center;text-align:center;border:5px solid transparent;padding-top:8px;transition:border-color .3s}.reveal-stage{width:100%;height:210px;border-radius:10px;background:radial-gradient(circle at 50% 60%,#4a352a,#1d130f 75%);margin-bottom:12px}.reveal-text{display:flex;flex-direction:column;align-items:center;width:100%;animation:pop .35s cubic-bezier(.2,1.6,.4,1) both}.reveal-wait{min-height:60px;margin:0;font:16px var(--sign);text-transform:uppercase;opacity:.7}.modal.reveal h2{color:var(--ink);font-size:26px}.modal.reveal em{margin-left:8px;padding:3px 7px 1px;border-radius:6px;background:var(--amber);font:normal 12px var(--sign);vertical-align:middle}.pair{display:flex;gap:10px;width:100%}.pair .btn{padding-left:8px;padding-right:8px;font-size:13px;white-space:nowrap}@keyframes pop{0%{transform:scale(.6);opacity:0}}.floats{position:fixed;left:0;right:0;top:38%;z-index:5;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}.rock-bar{width:120px;height:12px;border-radius:999px;border:2px solid var(--ink);background:#24160f8c;overflow:hidden}.rock-bar span{display:block;height:100%;background:var(--amber);transition:width .12s}.float{display:inline-flex;align-items:center;gap:6px;padding:5px 12px 3px;border-radius:999px;background:var(--ink);color:var(--cream);font:15px var(--sign);text-transform:uppercase;animation:float-up 1s ease-out both}.float.big{background:var(--teal);font-size:19px;padding:9px 16px 6px;animation-duration:2.2s}@keyframes float-up{0%{opacity:0;transform:translateY(14px) scale(.85)}12%{opacity:1;transform:translateY(0) scale(1.06)}22%{transform:translateY(-2px) scale(1)}75%{opacity:1}to{opacity:0;transform:translateY(-38px)}}@media(prefers-reduced-motion:reduce){.float,.reveal-text{animation-name:fade-only}.chip.bag.full{animation:none}.btn:active:not(:disabled){transform:none}@keyframes fade-only{0%{opacity:0}15%,75%{opacity:1}}@keyframes fade-out-only{80%{opacity:1}to{opacity:0}}}.chip.save{padding:0 10px;background:var(--amber);color:var(--ink);cursor:pointer}.modal.account{position:relative}.modal.account .close{position:absolute;top:8px;right:10px;width:36px;height:36px;border:0;background:none;font:26px/1 var(--text);color:var(--ink);cursor:pointer}.modal.account h2{margin-right:34px}.modal.account input{width:100%;height:48px;margin:2px 0 10px;padding:0 12px;border:2px solid var(--ink);border-radius:10px;background:#fff;color:var(--ink);font:500 17px var(--text)}.modal.account input.code{text-align:center;font-size:26px;letter-spacing:6px}.modal.account .btn+.btn{margin-top:8px}.modal.account .error{margin:0 0 10px;color:#b3261e;font-weight:600}.modal.account .small{margin:12px 0 0;font-size:12.5px;opacity:.7}.modal .link.back{display:block;margin:14px auto 0}.human-check{position:fixed;left:50%;bottom:22%;transform:translate(-50%);z-index:20}
