*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#000;font-family:"Press Start 2P",Courier New,monospace;-webkit-user-select:none;user-select:none}#app canvas{display:block}.hidden{display:none!important}#menu{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(#0a0f28d1,#0a0f28eb),repeating-conic-gradient(#2a7d2a,#2a7d2a 25%,#237023 0%,#237023 50%) 0 0 / 64px 64px;z-index:100}.menu-panel{text-align:center;padding:32px 44px;background:#0000008c;border:4px solid #555;border-radius:8px;box-shadow:0 0 60px #000c;max-width:560px;max-height:90vh;overflow-y:auto}.title{font-size:42px;color:#fff;letter-spacing:4px;text-shadow:4px 4px 0 #3a3a3a,0 0 24px rgba(120,220,120,.5);margin-bottom:14px}@media(max-width:480px),(max-height:640px){.menu-panel{padding:20px 24px}.title{font-size:30px;margin-bottom:8px}.subtitle{margin-bottom:16px}}@media(min-width:700px){.menu-panel:has(#login-panel:not(.hidden)){display:flex;align-items:center;gap:32px;max-width:820px;text-align:left}.menu-panel:has(#login-panel:not(.hidden)) .menu-hero{flex:1}.menu-panel:has(#login-panel:not(.hidden)) #login-panel{flex:1;margin-bottom:0;text-align:center}}.subtitle{font-size:11px;color:#cfe8cf;line-height:1.8;margin-bottom:26px}.herobrine-text{color:#fff;text-shadow:0 0 8px #fff,0 0 16px #aaf;animation:eerie 2.2s ease-in-out infinite}@keyframes eerie{0%,to{opacity:1}50%{opacity:.55}}.btn{display:block;width:100%;cursor:pointer;font-family:inherit;color:#fff;background:linear-gradient(#6fae3f,#589131);border:3px solid #2c4a19;border-radius:6px;text-shadow:2px 2px 0 rgba(0,0,0,.45);transition:transform .08s,filter .08s}.btn:hover{filter:brightness(1.15);transform:scale(1.02)}.btn:active{transform:scale(.98)}.btn-big{font-size:18px;padding:18px;margin-bottom:12px}.btn-small{font-size:11px;padding:12px;margin-bottom:24px;background:linear-gradient(#7d7d7d,#5e5e5e);border-color:#3a3a3a}#login-panel{margin-bottom:8px}#login-title{margin-bottom:14px}#login-panel input{display:block;width:100%;font-family:inherit;font-size:11px;padding:12px;margin-bottom:10px;background:#00000080;border:3px solid #3a3a3a;border-radius:6px;color:#fff;outline:none;text-align:center}#login-panel input::placeholder{color:#888}#login-pin{letter-spacing:6px;font-size:16px}#login-msg{font-size:10px;color:#ff8a8a;min-height:14px;line-height:1.6;margin-top:-2px;margin-bottom:10px}#login-msg.ok{color:#8aff9c}#login-mode-tabs{display:flex;gap:8px;margin-bottom:10px}.login-tab{flex:1;font-family:inherit;font-size:9px;padding:10px 6px;cursor:pointer;background:#0006;color:#cfe8cf;border:2px solid #3a3a3a;border-radius:6px;transition:filter .08s}.login-tab:hover{filter:brightness(1.2)}.login-tab.selected{background:linear-gradient(#6fae3f,#589131);color:#fff;border-color:#2c4a19}#new-name-msg{font-size:10px;color:#ff8a8a;min-height:14px;line-height:1.6;margin-top:-4px;margin-bottom:10px}#new-name-msg.ok{color:#8aff9c}.name-suggestion{font-family:inherit;font-size:10px;color:#ffd76b;text-decoration:underline;background:none;border:none;cursor:pointer;padding:0}.name-suggestion:hover{color:#fff}#mp-row{display:flex;gap:8px;margin-bottom:12px}#mp-name{flex:1;min-width:0;font-family:inherit;font-size:10px;padding:10px;background:#00000080;border:3px solid #3a3a3a;border-radius:6px;color:#fff;display:flex;align-items:center}#mp-row .btn-small{flex:1.4;margin-bottom:0;background:linear-gradient(#4f7dae,#3a6391);border-color:#24405e}#mp-row .btn-small.connected{background:linear-gradient(#57a05a,#3f7d42);border-color:#2a4d2c}#invite-code-input{width:100%;margin-bottom:8px;font-family:inherit;font-size:10px;padding:10px;background:#00000080;border:3px solid #3a3a3a;border-radius:6px;color:#fff}#own-invite-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:9px;color:#cfe8cf;margin-bottom:10px;padding:8px 10px;background:#00000080;border:3px solid #3a3a3a;border-radius:6px;white-space:nowrap}#own-invite-code{font-size:14px;color:#ffd76b;letter-spacing:1px;margin-left:4px}#own-invite-row .btn-small{width:auto;flex:none;padding:6px 10px;margin-bottom:0;font-size:12px}#room-manage-panel{margin-bottom:10px;padding:8px 10px;background:#00000080;border:3px solid #3a3a3a;border-radius:6px}#invite-actions-row{display:flex;gap:8px;margin-bottom:8px}#invite-actions-row .btn-small{flex:1;margin-bottom:0;padding:8px;font-size:9px}#room-members-list{display:flex;flex-direction:column;gap:6px;margin-bottom:8px;max-height:160px;overflow-y:auto}.room-member-row{display:flex;align-items:center;gap:6px;font-size:8px;color:#cfe8cf}.room-member-row span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-member-row .btn-small{width:auto;flex:none;padding:5px 7px;margin-bottom:0;font-size:8px}#unban-row{display:flex;gap:8px}#unban-row input{flex:1;min-width:0;font-family:inherit;font-size:9px;padding:8px;background:#00000080;border:3px solid #3a3a3a;border-radius:6px;color:#fff}#unban-row .btn-small{width:auto;flex:none;padding:8px 10px;margin-bottom:0;font-size:9px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#000000bf;z-index:300}.invite-code-big{font-size:16px;color:#ffd76b;letter-spacing:2px}#invite-migration-code-row{display:flex;flex-direction:column;align-items:center;gap:10px;margin:14px 0}#gender-row{display:flex;align-items:center;gap:8px;margin-bottom:14px}#gender-label{font-size:9px;color:#cfcfcf;flex-shrink:0}.gender-btn{flex:1;cursor:pointer;font-family:inherit;font-size:9px;padding:10px 4px;color:#ddd;background:linear-gradient(#4a4a4a,#363636);border:3px solid #2a2a2a;border-radius:6px;text-shadow:1px 1px 0 rgba(0,0,0,.45);transition:transform .08s,filter .08s}.gender-btn:hover{filter:brightness(1.15)}.gender-btn:active{transform:scale(.97)}.gender-btn.selected{background:linear-gradient(#4f7dae,#3a6391);border-color:#24405e;color:#fff}#fullscreen-row{display:block;text-align:left;font-size:9px;color:#c9c9d8;margin-bottom:14px;cursor:pointer;line-height:1.7}#fullscreen-row input{transform:scale(1.4);margin-right:8px;accent-color:#6f8fae}#battle-row{display:block;text-align:left;font-size:9px;color:#e8b4b4;margin-bottom:14px;cursor:pointer;line-height:1.7}#battle-row input{transform:scale(1.4);margin-right:8px;accent-color:#c23a3a}#score-label{margin-left:18px;color:#ffb0b0}#music-row{display:block;text-align:left;font-size:9px;color:#b4d4e8;margin-bottom:14px;cursor:pointer;line-height:1.7}#music-row input{transform:scale(1.4);margin-right:8px;accent-color:#4a86c9}body.photo #hud>*:not(#toast){display:none!important}.controls{text-align:left;font-size:9px;color:#b8c4b8;line-height:2.3;border-top:2px solid #444;padding-top:16px}.controls b{color:#ffe14d}.save-note{margin-top:16px;font-size:8px;color:#7fa87f}#hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:50}#crosshair{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#ffffffd9;font-size:22px;text-shadow:0 0 4px rgba(0,0,0,.9)}#topbar{position:absolute;top:14px;left:14px;font-size:12px;color:#fff;text-shadow:2px 2px 0 rgba(0,0,0,.7)}#diamond-label{margin-left:18px;color:#9ff3ec}#compass{position:absolute;top:14px;right:14px;font-size:10px;color:#fff;text-shadow:2px 2px 0 rgba(0,0,0,.7);text-align:right;line-height:1.9}.compass-row .arrow{display:inline-block;color:#ffe14d}.compass-row .dist{color:#cfe8cf}#food-label{margin-left:18px;color:#ffd9a0}#status{margin-top:10px;font-size:14px;line-height:1.5;text-shadow:1px 1px 0 rgba(0,0,0,.6)}#hurt{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;box-shadow:inset 0 0 120px #c80000d9;opacity:0}#hurt.ouch{animation:ouch .5s ease-out}@keyframes ouch{0%{opacity:1}to{opacity:0}}#hotbar{position:absolute;bottom:14px;left:50%;transform:translate(-50%);display:flex;gap:4px;padding:5px;background:#00000073;border-radius:8px}.slot{width:54px;height:54px;border:3px solid #666;border-radius:5px;background:#1e1e1e99;position:relative;display:flex;align-items:center;justify-content:center}.slot img{width:44px;height:44px;image-rendering:pixelated}.slot .num{position:absolute;top:1px;left:3px;font-size:8px;color:#ccc;text-shadow:1px 1px 0 #000}.slot.selected{border-color:#fff;box-shadow:0 0 10px #ffffffb3;background:#464646b3}#block-name{position:absolute;bottom:84px;left:50%;transform:translate(-50%);font-size:11px;color:#fff;text-shadow:2px 2px 0 rgba(0,0,0,.8);opacity:0;transition:opacity .4s}#toast{position:absolute;top:22%;left:50%;transform:translate(-50%);font-size:14px;color:#fdd;text-shadow:0 0 10px rgba(255,60,60,.9),2px 2px 0 #000;opacity:0;transition:opacity .6s;text-align:center;line-height:1.8;max-width:80%;z-index:110}#flash{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;opacity:0;pointer-events:none}#flash.zap{animation:zap .45s ease-out}@keyframes zap{0%{opacity:.9}to{opacity:0}}#sleep{position:absolute;top:0;right:0;bottom:0;left:0;background:#000;opacity:0;transition:opacity 1.1s ease-in-out;pointer-events:none;display:flex;align-items:center;justify-content:center}#sleep.active{opacity:.93}#sleep span{font-size:16px;color:#cfd8ff;text-shadow:0 0 12px rgba(140,160,255,.8);animation:zzz 2s ease-in-out infinite}@keyframes zzz{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(-6px)}}#inventory{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:70}#inv-panel{background:#14141aeb;border:3px solid #666;border-radius:10px;padding:14px 16px;max-width:92vw;text-align:center}#inv-title{font-size:13px;color:#fff;text-shadow:2px 2px 0 #000;margin-bottom:12px}#inv-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;max-width:540px}#inv-hotbar{display:flex;justify-content:center;gap:4px;margin-top:14px;padding-top:12px;border-top:2px solid #555}#inv-hint{font-size:8px;color:#aaa;margin-top:10px;line-height:1.6}#inventory .slot{cursor:pointer}#inv-tooltip{position:fixed;z-index:200;background:#14141af2;border:2px solid #666;border-radius:5px;padding:6px 8px;font-size:9px;color:#fff;text-shadow:1px 1px 0 #000;line-height:1.6;max-width:260px;pointer-events:none}#discoveries{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:110}#disc-panel{background:#14141aeb;border:3px solid #666;border-radius:10px;padding:14px 18px;max-width:92vw;max-height:86vh;overflow-y:auto;text-align:center}#disc-title{font-size:13px;color:#fff;text-shadow:2px 2px 0 #000;margin-bottom:12px}#disc-list{display:flex;flex-direction:column;gap:6px;min-width:280px}.disc-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border:2px solid #555;border-radius:6px;background:#ffffff0a;font-size:10px;color:#999;text-align:left}.disc-row.done{border-color:#6fae3f;color:#fff;background:#6fae3f24}.disc-row .disc-check{width:16px;text-align:center;flex-shrink:0}.disc-row .disc-name{flex:1;line-height:1.6}#disc-hint{font-size:8px;color:#aaa;margin-top:12px;line-height:1.6}#touch-ui{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:60}#joystick{position:absolute;bottom:96px;left:24px;width:132px;height:132px;border-radius:50%;background:#00000059;border:3px solid rgba(255,255,255,.35);pointer-events:auto;touch-action:none}#joy-knob{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:#ffffff8c;border:2px solid rgba(255,255,255,.7)}.tbtn{position:absolute;width:62px;height:62px;border-radius:50%;background:#0006;border:3px solid rgba(255,255,255,.4);color:#fff;font-size:24px;pointer-events:auto;touch-action:none;display:flex;align-items:center;justify-content:center;font-family:inherit;padding:0}.tbtn:active{background:#ffffff40}#btn-jump{right:22px;bottom:114px;width:78px;height:78px;font-size:30px}#btn-down{right:132px;bottom:84px}#btn-break{right:92px;bottom:218px}#btn-place{right:18px;bottom:240px}#btn-eat{right:18px;bottom:322px}#btn-inv{top:12px;right:68px;width:46px;height:46px;font-size:18px}#btn-pause{top:12px;right:12px;width:46px;height:46px;font-size:18px}.touch #hotbar{pointer-events:auto}@media(max-width:980px){#hotbar{gap:3px;padding:4px;bottom:8px}.slot{width:38px;height:38px;border-width:2px}.slot img{width:30px;height:30px}.slot .num{font-size:6px}#block-name{bottom:56px;font-size:9px}#topbar{font-size:9px}}
