*{margin:0;padding:0;box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html,body{width:100%;height:100%;overflow:hidden;background:#000;font-family:Courier New,monospace;position:fixed}canvas{display:block}#splash{position:fixed;inset:0;z-index:100;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;perspective:900px;isolation:isolate}#splash .sky{position:absolute;inset:0;background:radial-gradient(120% 90% at 78% 8%,rgba(255,200,120,.35),transparent 45%),linear-gradient(180deg,#140d22,#2a163f 26%,#6c2a5e 48%,#c14a3f 68%,#ff8a42,#ffc46b);animation:skyDrift 16s ease-in-out infinite alternate}@keyframes skyDrift{0%{filter:saturate(1) brightness(1)}to{filter:saturate(1.15) brightness(1.06)}}#splash .stars{position:absolute;inset:0 0 55%;pointer-events:none}#splash .stars i{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff;opacity:.8;animation:twinkle 3.5s ease-in-out infinite}@keyframes twinkle{0%,to{opacity:.2;transform:scale(.7)}50%{opacity:1;transform:scale(1.2)}}#splash .sun{position:absolute;right:16%;top:13%;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,#fff6d8,#ffd98a 38%,#ff9a4d 62%,#ff8c4600 72%);filter:blur(2px);animation:sunPulse 6s ease-in-out infinite}@keyframes sunPulse{0%,to{transform:scale(1);opacity:.95}50%{transform:scale(1.08);opacity:1}}#splash .haze{position:absolute;left:0;right:0;bottom:0;height:46%;background:linear-gradient(180deg,#ff965000,#ff96502e 60%,#78281e59);pointer-events:none}#splash .scene{position:absolute;left:0;right:0;bottom:0;width:100%;height:min(52vh,460px);pointer-events:none}#splash .scene .far{fill:#3a2447;opacity:.92;animation:floatX 26s ease-in-out infinite alternate}#splash .scene .mid{fill:#241432;stroke:#241432;animation:floatX 18s ease-in-out infinite alternate-reverse}#splash .scene .near{fill:#160c20;animation:floatX 12s ease-in-out infinite alternate}#splash .scene .near .tree circle,#splash .scene .near .tree rect{fill:#120a1a}#splash .scene .roo{fill:#0d0712;animation:hop 3.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center bottom}@keyframes floatX{0%{transform:translate(-10px)}to{transform:translate(10px)}}@keyframes hop{0%,60%,to{transform:translateY(0)}75%{transform:translateY(-14px)}85%{transform:translateY(0)}}#splash .scene g{filter:drop-shadow(0 -2px 0 rgba(255,170,90,.25))}#splash .cubes{position:absolute;inset:0;pointer-events:none}#splash .cubes i{position:absolute;width:22px;height:22px;border-radius:4px;opacity:0;background:linear-gradient(135deg,#ffd778e6,#ff9646b3);box-shadow:inset -4px -4px #00000040,inset 3px 3px #ffffff59,0 6px 18px #0000004d;animation:rise linear infinite}@keyframes rise{0%{transform:translateY(20px) rotate(0) scale(.8);opacity:0}12%{opacity:.85}88%{opacity:.85}to{transform:translateY(-120px) rotate(180deg) scale(1);opacity:0}}#splash .content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:15px;padding:0 18px;transform:translateY(-3vh)}#splash .brandIcon{width:min(23vw,104px);height:min(23vw,104px);margin-bottom:10px;filter:drop-shadow(0 10px 24px rgba(0,0,0,.45));animation:iconFloat 5s ease-in-out infinite}#splash .brandIcon canvas,#splash .brandIcon svg,#splash .brandIcon img{display:block;width:100%;height:100%;image-rendering:auto}@keyframes iconFloat{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}#splash .title{position:relative;line-height:.92}#splash .title span{display:block;font-family:Trebuchet MS,Segoe UI,Arial,sans-serif;font-weight:900;font-size:min(15vw,92px);letter-spacing:2px;background:linear-gradient(180deg,#fff5cc,#ffd54a 42%,#f0a020 70%,#b5701a);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 2px 0 rgba(120,60,10,0);filter:drop-shadow(0 3px 0 #7a3b10) drop-shadow(0 6px 1px rgba(0,0,0,.5));position:relative}#splash .title span:before{content:attr(data-t);position:absolute;left:0;top:0;z-index:-1;-webkit-text-fill-color:#5a2d0a;color:#5a2d0a;transform:translate(3px,5px)}#splash .title span:after{content:attr(data-t);position:absolute;left:0;top:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.85) 50%,transparent 60%);-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 4.5s ease-in-out infinite}@keyframes shine{0%,to{background-position:-200% 0}50%{background-position:200% 0}}#splash .titleSub{font-family:Trebuchet MS,Segoe UI,sans-serif;font-weight:800;font-size:min(5.2vw,26px);letter-spacing:.5em;color:#ffe9c2;text-indent:.5em;text-shadow:0 2px 6px rgba(0,0,0,.5);margin-top:-2px}#splash .ownerCard{margin-top:4px;font-size:min(4vw,16px);color:#fff;background:#140c1e6b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,215,120,.55);border-radius:999px;padding:9px 20px;box-shadow:0 8px 24px #00000059,inset 0 1px #ffffff2e}#splash .ownerCard b{color:#ffd766}#splash .ownerCard .teddy{animation:teddyBob 2.4s ease-in-out infinite;display:inline-block}@keyframes teddyBob{0%,to{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-3px) rotate(6deg)}}#startBtn{position:relative;margin-top:10px;padding:16px 54px;cursor:pointer;font-family:inherit;font-weight:900;font-size:min(6vw,24px);letter-spacing:2px;color:#3a1d05;background:linear-gradient(180deg,#ffe79a,#ffc23f 45%,#f3990f);border:none;border-radius:16px;overflow:hidden;box-shadow:0 8px #9c5a07,0 14px 28px #00000073,inset 0 2px #ffffffb3;animation:btnPulse 2.6s ease-in-out infinite;-webkit-tap-highlight-color:transparent}#startBtn .btnLabel{position:relative;z-index:1}#startBtn:after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.7),transparent);transform:skew(-18deg);animation:btnShine 3.2s ease-in-out infinite}@keyframes btnShine{0%{left:-60%}55%,to{left:130%}}@keyframes btnPulse{0%,to{box-shadow:0 8px #9c5a07,0 14px 28px #00000073,0 0 #ffd25a00,inset 0 2px #ffffffb3}50%{box-shadow:0 8px #9c5a07,0 14px 30px #00000073,0 0 26px #ffd25a8c,inset 0 2px #ffffffb3}}#startBtn:active{transform:translateY(6px);box-shadow:0 2px #9c5a07,0 6px 14px #0006,inset 0 2px #ffffffb3}#splash .hint{font-size:min(3.4vw,13px);color:#fff0dcd1;margin-top:4px;letter-spacing:.4px;text-shadow:0 1px 4px rgba(0,0,0,.55)}#splash .foot{position:absolute;bottom:max(10px,env(safe-area-inset-bottom));font-size:11px;color:#ffebd299;z-index:2}#loading{display:none;color:#fff5d8;font-weight:700;font-size:15px;margin-top:6px;text-shadow:0 1px 6px rgba(0,0,0,.6);animation:twinkle 1.4s ease-in-out infinite}@media (max-height:520px){#splash .brandIcon{width:74px;height:74px}#splash .content{gap:9px;transform:none}}#fx{position:fixed;inset:0;pointer-events:none;z-index:4}#hud{position:fixed;inset:0;pointer-events:none;z-index:10;display:none}#brand{position:absolute;top:max(8px,env(safe-area-inset-top));left:10px;background:#00000080;border:2px solid #ffd700;border-radius:8px;padding:5px 12px;color:#fff}#brand b{color:gold;font-size:13px}#brand div{font-size:9px;color:#ddd}#fpsbox{position:absolute;top:max(8px,env(safe-area-inset-top));right:64px;background:#00000080;border-radius:8px;padding:5px 10px;color:#9f9;font-size:11px}#hearts{position:absolute;top:calc(max(8px,env(safe-area-inset-top)) + 52px);left:10px;image-rendering:pixelated}#hunger{position:absolute;top:calc(max(8px,env(safe-area-inset-top)) + 78px);left:10px;image-rendering:pixelated}#cross{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:22px;height:22px}#cross:before,#cross:after{content:"";position:absolute;background:#ffffffd9}#cross:before{left:50%;top:0;width:2px;height:100%;margin-left:-1px}#cross:after{top:50%;left:0;height:2px;width:100%;margin-top:-1px}#hotbar{position:absolute;bottom:max(10px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);display:flex;gap:4px;pointer-events:auto}.slot{width:48px;height:48px;background:#00000073;border:2px solid rgba(120,120,120,.85);display:flex;align-items:center;justify-content:center;color:#fff;position:relative}.slot.sel{border:3px solid #fff;background:#ffffff1f}.slot canvas{width:34px;height:34px;image-rendering:pixelated}.slot .cnt{position:absolute;right:2px;bottom:1px;font-size:12px;font-weight:700;color:#fff;text-shadow:1px 1px 0 #000}.slot.empty canvas{opacity:.2}#itemName{position:absolute;bottom:calc(max(10px,env(safe-area-inset-bottom)) + 68px);left:50%;transform:translate(-50%);color:#fff;font-size:15px;font-weight:700;text-shadow:1px 1px 0 #000;opacity:0;transition:opacity .4s;pointer-events:none}#joyZone{position:absolute;left:0;bottom:0;width:45%;height:60%;pointer-events:auto}#joyBase{position:fixed;left:30px;bottom:calc(max(10px,env(safe-area-inset-bottom)) + 96px);width:134px;height:134px;border-radius:50%;background:radial-gradient(circle,#00000073 55%,#ffffff1f);border:3px solid rgba(255,255,255,.4)}#joyBase:after{content:"✛";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#ffffff40;font-size:44px}#joyKnob{position:fixed;width:58px;height:58px;border-radius:50%;background:#ffffff80;border:3px solid rgba(255,255,255,.7);box-shadow:0 2px 8px #0006}#lookZone{position:absolute;right:0;bottom:0;width:55%;height:100%;pointer-events:auto}.gbtn{position:absolute;pointer-events:auto;z-index:6;background:#1e1e1e8c;border:2px solid rgba(255,255,255,.55);border-radius:10px;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:inherit}.gbtn canvas{width:28px;height:28px;image-rendering:pixelated}.gbtn .blab{font-size:7px;color:#eee;letter-spacing:1px;margin-top:1px}.gbtn:active,.gbtn.on{background:#ffffff59;border-color:#fff}#jumpBtn{right:18px;bottom:calc(max(10px,env(safe-area-inset-bottom)) + 78px);width:74px;height:74px;font-size:26px}#modeBtn{right:104px;bottom:calc(max(10px,env(safe-area-inset-bottom)) + 92px);width:60px;height:60px;font-size:10px}#viewBtn{right:26px;bottom:calc(max(10px,env(safe-area-inset-bottom)) + 166px);width:58px;height:58px;font-size:18px}#craftBtn{right:108px;bottom:calc(max(10px,env(safe-area-inset-bottom)) + 170px);width:54px;height:54px;font-size:18px}#invBtn{right:108px;bottom:calc(max(10px,env(safe-area-inset-bottom)) + 236px);width:54px;height:54px;font-size:18px}#pauseBtn{position:absolute;right:10px;top:max(8px,env(safe-area-inset-top));width:46px;height:46px;font-size:17px;border-radius:10px}#arm{position:absolute;right:0;bottom:0;pointer-events:none;z-index:5}#wm{position:absolute;bottom:max(8px,env(safe-area-inset-bottom));left:12px;color:#ffffff4d;font-size:9px;letter-spacing:2px}#ptag{position:absolute;left:-999px;top:-999px;background:#000000a6;color:gold;font-size:12px;font-weight:700;padding:3px 10px;border-radius:6px;border:1px solid #ffd700;transform:translate(-50%,-100%);white-space:nowrap;display:none}#rtag{position:absolute;left:-999px;top:-999px;background:#000000a6;color:#7ee8ff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px;border:1px solid #7ee8ff;transform:translate(-50%,-100%);white-space:nowrap}#stag{position:absolute;left:-999px;top:-999px;background:#000000a6;color:#9bf07e;font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px;border:1px solid #9bf07e;transform:translate(-50%,-100%);white-space:nowrap}#jtag{position:absolute;left:-999px;top:-999px;background:#000000a6;color:#f0d27e;font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px;border:1px solid #f0d27e;transform:translate(-50%,-100%);white-space:nowrap}.bub{position:absolute;left:-999px;top:-999px;background:#fff;color:#222;font-size:13px;font-weight:700;padding:6px 11px;border-radius:12px;border:2px solid #333;transform:translate(-50%,-135%);white-space:nowrap;display:none;z-index:7;max-width:70vw}.bub:after{content:"";position:absolute;left:50%;bottom:-9px;margin-left:-5px;border:5px solid transparent;border-top-color:#333}#msg{position:absolute;top:20%;left:50%;transform:translate(-50%);background:#000c;border:2px solid #ffd700;border-radius:10px;padding:12px 24px;color:#fff;font-size:15px;display:none;text-align:center;max-width:84%}.menu{position:fixed;inset:0;z-index:60;background:#0a0a19c7;display:none;flex-direction:column;align-items:center;justify-content:center;gap:11px}.menu h2{color:gold;font-size:24px;letter-spacing:2px;text-shadow:2px 2px 0 #000;margin-bottom:4px}.mbtn{width:min(80vw,320px);padding:13px;font-size:16px;font-weight:700;font-family:inherit;color:#fff;background:#3b3b4f;border:3px solid #777;border-radius:8px;cursor:pointer;box-shadow:0 4px #1c1c28}.mbtn:active{transform:translateY(3px);box-shadow:0 1px #1c1c28}.mbtn.green{background:#3fae49;border-color:#1d6b25;box-shadow:0 4px #1d6b25}.mbtn.red{background:#b3402f;border-color:#6e2418;box-shadow:0 4px #6e2418}.menu .who{color:#ccc;font-size:12px;margin-top:8px}#craftList{display:flex;flex-direction:column;gap:8px;max-height:55vh;overflow-y:auto}.recipe{display:flex;align-items:center;gap:10px;background:#0006;border:2px solid #555;border-radius:8px;padding:8px 12px;width:min(86vw,360px)}.recipe .rtxt{flex:1;color:#fff;font-size:13px;text-align:left}.recipe .rtxt small{color:#aaa;font-size:10px}.recipe button{padding:8px 14px;font-family:inherit;font-weight:700;font-size:13px;border-radius:6px;border:2px solid #1d6b25;background:#3fae49;color:#fff;cursor:pointer}.recipe button:disabled{background:#444;border-color:#333;color:#888}#invGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;width:min(94vw,430px);max-height:62vh;overflow-y:auto;padding:6px;background:#00000059;border:2px solid #555;border-radius:8px}.invcell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:5px 2px;background:#0006;border:2px solid #6a6a6a;border-radius:6px;cursor:pointer}.invcell:active{background:#fff3;border-color:#fff}.invcell canvas{width:34px;height:34px;image-rendering:pixelated}.invcell .invlbl{font-size:7px;color:#ccc;text-align:center;line-height:1;height:8px;overflow:hidden}
