@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&display=swap');
*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#78b8e7;color:#fff;font-family:"VT323","Microsoft YaHei",monospace;image-rendering:pixelated}#game,canvas{position:fixed;inset:0;width:100%;height:100%}#hud{position:fixed;inset:0;z-index:1;pointer-events:none;padding:22px;text-shadow:2px 2px #252525}.brand{display:flex;align-items:center;gap:10px}.brand>span{background:#5a913c;border:3px solid #d6e7bd;border-right-color:#244820;border-bottom-color:#244820;padding:4px;color:#fff;font-size:24px}.brand b{display:block;font-family:"Press Start 2P","Microsoft YaHei",monospace;font-size:17px;letter-spacing:1px}.brand small{display:block;margin-top:6px;color:#e9efcf;font-size:15px;letter-spacing:2px}.stats{position:absolute;top:20px;right:20px;display:flex;gap:8px}.stat{min-width:82px;padding:7px 10px;text-align:center;background:#333d;outline:3px solid #171717;border:3px solid #858585;border-left-color:#d8d8d8;border-top-color:#d8d8d8}.stat span{display:block;color:#f7f7e8;font-size:16px}.stat strong{font:22px "Press Start 2P",monospace;line-height:32px}.diamond strong{color:#5cf4ff}.gold strong{color:#ffe34a}.iron strong{color:#d5d5d5}#mission{position:absolute;bottom:38px;left:22px;width:262px;padding:10px 12px;background:#303030e8;outline:3px solid #181818;border:3px solid #a0a0a0;border-left-color:#eee;border-top-color:#eee;font-size:18px}#mission b{margin-right:13px;color:#ffec65}.progress{height:13px;margin-top:8px;background:#141414;border:2px solid #050505}.progress i{display:block;height:100%;width:0;background:repeating-linear-gradient(90deg,#63c43a 0 12px,#83df4a 12px 16px);transition:width .2s}#tip{position:absolute;bottom:7px;left:0;right:0;margin:0;text-align:center;font-size:17px;color:#fff}#crosshair{position:fixed;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);font:34px "VT323",monospace;color:white;text-shadow:2px 2px #222;pointer-events:none}#toast{position:absolute;top:21%;left:50%;transform:translateX(-50%);font-size:25px;color:#fff054;text-shadow:3px 3px #4d3516;white-space:nowrap;opacity:0;transition:opacity .15s}#startScreen{position:fixed;inset:0;z-index:5;display:grid;place-items:center;background:linear-gradient(#67aee5d9 0 49%,#639143d9 49% 100%)}.panel{width:min(480px,calc(100vw - 32px));text-align:center;padding:36px 28px;background:#6b6b6bf2;outline:5px solid #202020;border:5px solid #aaa;border-top-color:#ddd;border-left-color:#ddd;box-shadow:10px 10px #0008}.pickaxe{font-size:64px;filter:drop-shadow(4px 4px #382919);animation:bob 1s steps(2) infinite}.panel h1{margin:12px 0 15px;font-family:"Press Start 2P","Microsoft YaHei",monospace;font-size:27px;line-height:1.55;color:#fff;text-shadow:4px 4px #26351d}.panel p{font-size:21px;margin:0 0 25px}.panel button{pointer-events:auto;cursor:pointer;padding:14px 28px;background:#6caa49;color:#fff;border:4px solid #214d20;border-top-color:#a2dc71;border-left-color:#a2dc71;box-shadow:4px 4px #24381e;font:18px "Press Start 2P","Microsoft YaHei",monospace}.panel button:hover{filter:brightness(1.14);transform:translate(-1px,-1px)}.panel small{display:block;margin-top:26px;font-size:15px;color:#f3f3e3}@keyframes bob{50%{transform:translateY(-6px) rotate(-7deg)}}@media(max-width:600px){#hud{padding:14px}.brand b{font-size:13px}.brand small{font-size:12px}.stats{top:14px;right:14px;gap:4px}.stat{min-width:58px;padding:5px}.stat span{font-size:14px}.stat strong{font-size:15px;line-height:24px}#mission{left:14px;bottom:37px;width:235px}#tip{font-size:14px}.panel h1{font-size:20px}}
#tool{position:absolute;top:92px;left:22px;display:flex;align-items:center;gap:9px;padding:7px 10px;background:#303030e8;outline:3px solid #181818;border:3px solid #a0a0a0;border-left-color:#eee;border-top-color:#eee}#toolIcon{font-size:27px;line-height:27px;filter:drop-shadow(2px 2px #222)}#tool b{display:block;font-size:20px;color:#f6e5b5}#tool small{display:block;font-size:15px;color:#d6d6d6}@media(max-width:600px){#tool{top:77px;left:14px;padding:5px 7px}#toolIcon{font-size:21px}#tool b{font-size:17px}#tool small{font-size:13px}}
.stats{max-width:390px;flex-wrap:wrap;justify-content:flex-end}.emerald strong{color:#52e99b}.redstone strong{color:#ff5a58}.copper strong{color:#e99355}.coal strong{color:#858585}@media(max-width:600px){.stats{max-width:250px}.stat{min-width:54px}}
#startScreen{background:#02050b url("game-cover.webp") center/cover no-repeat}.panel{background:linear-gradient(145deg,#07101bd9,#03060dd9);border-color:#31c9ff;box-shadow:0 0 40px #00b7ff88,10px 10px #000a}.panel h1{display:none}.panel p{margin-top:10px;color:#d4f5ff;text-shadow:2px 2px #06101a}.pickaxe{font-size:46px;margin-bottom:0}.panel button{background:#138ac3;border-color:#075176;border-top-color:#5ee9ff;border-left-color:#5ee9ff;box-shadow:4px 4px #05283a}.panel small{color:#bceeff;text-shadow:1px 1px #000}
#startScreen .guideBtn{display:inline-block;pointer-events:auto;margin-left:10px;padding:12px 18px;border:3px solid #87dfff;border-right-color:#194664;border-bottom-color:#194664;background:#19364ddb;color:#e1f9ff;text-decoration:none;font:15px "Press Start 2P","Microsoft YaHei",monospace;vertical-align:top}#startScreen .guideBtn:hover{filter:brightness(1.2);transform:translate(-1px,-1px)}@media(max-width:600px){#startScreen .guideBtn{display:block;margin:12px auto 0;width:max-content}}
#saveControls{position:absolute;left:22px;top:162px;display:flex;gap:6px;pointer-events:auto}#saveControls button,#saveControls label{cursor:pointer;padding:6px 9px;background:#183b4f;border:2px solid #73e8ff;border-right-color:#0b2938;border-bottom-color:#0b2938;color:#e8fcff;font:15px "VT323","Microsoft YaHei",monospace}#saveControls button:hover,#saveControls label:hover{filter:brightness(1.25)}#importInput{display:none}@media(max-width:600px){#saveControls{top:137px;left:14px}#saveControls button,#saveControls label{padding:4px 6px}}

.amethyst strong{color:#d7a5ff}.roseCrystal strong{color:#ff9dca}.azureCrystal strong{color:#7ee8ff}.jade strong{color:#8cffb0}.ruby strong{color:#ff6878}.sapphire strong{color:#86b6ff}

#wallet{position:absolute;left:22px;top:211px;padding:6px 10px;background:#202827e8;border:2px solid #b89136;color:#ffe177;font-size:17px}#wallet strong{font:20px "Press Start 2P",monospace;color:#fff3a0}#shopPanel{position:fixed;z-index:8;inset:0;display:none;place-items:center;background:#000b;pointer-events:auto}#shopPanel.open{display:grid}.shopBox{position:relative;width:min(540px,calc(100vw - 28px));padding:25px;background:linear-gradient(145deg,#27384a,#10151e);border:4px solid #d5a63e;box-shadow:0 0 35px #e9ae3477,8px 8px #000}.shopBox h2{margin:0;color:#ffe680;font:20px "Press Start 2P","Microsoft YaHei",monospace;line-height:1.5}.shopBox>p{margin:12px 0 18px;color:#d7e8ef;font-size:18px}.shopItems{display:grid;grid-template-columns:1fr 1fr;gap:10px}.shopItems button{cursor:pointer;text-align:left;padding:11px;background:#172532;border:3px solid #5d849c;border-top-color:#a9e4ff;border-left-color:#a9e4ff;color:#fff;font:17px "VT323","Microsoft YaHei",monospace}.shopItems button:hover{filter:brightness(1.25);transform:translate(-1px,-1px)}.shopItems b,.shopItems small{display:block}.shopItems b{font-size:19px;color:#ffdc75}.shopItems small{margin-top:5px;color:#cfe1ed;font-size:15px;line-height:1.2}#closeShop{position:absolute;right:8px;top:6px;cursor:pointer;border:0;background:transparent;color:#fff;font-size:28px}@media(max-width:600px){#wallet{left:14px;top:183px}.shopItems{grid-template-columns:1fr}.shopBox{padding:22px 18px}}

#craftPanel{position:fixed;z-index:9;inset:0;display:none;place-items:center;background:#000c;pointer-events:auto}#craftPanel.open{display:grid}.craftBox{position:relative;width:min(590px,calc(100vw - 28px));padding:25px;background:#6a4628;border:5px solid #2c1b10;border-top-color:#c8955a;border-left-color:#c8955a;box-shadow:0 0 0 4px #120b06,10px 10px #000b;text-shadow:2px 2px #251409}.craftBox h2{margin:0;color:#ffe1a1;font:23px "Press Start 2P","Microsoft YaHei",monospace}.craftBox>p{margin:11px 0 18px;font-size:18px;color:#fff1cf}.craftBoard{display:flex;align-items:center;justify-content:center;gap:18px}.craftGrid{display:grid;grid-template-columns:repeat(3,58px);gap:4px;padding:5px;background:#2c1a10;border:4px solid #1b0f09;border-top-color:#ae7a42;border-left-color:#ae7a42}.craftSlot,.craftOutput{display:grid;place-items:center;width:58px;height:58px;background:#1b1b1b;border:3px solid #101010;border-top-color:#777;border-left-color:#777;font:18px "VT323","Microsoft YaHei",monospace}.craftSlot.iron{color:#e4e7e6}.craftSlot.coal{color:#7d8385}.craftSlot.diamond{color:#65efff}.craftSlot.redstone{color:#ff6262}.craftSlot.emerald{color:#6cff9d}.craftSlot.amethyst{color:#dda5ff}.craftArrow{font:32px "Press Start 2P",monospace;color:#ffe08c}.craftOutput{width:78px;height:78px;background:#322313;color:#fff2b8;font-size:21px;border-color:#1c1007;border-top-color:#e2b567;border-left-color:#e2b567}.craftBox>#craftBtn{display:block;margin:15px auto 10px;cursor:pointer;padding:10px 18px;background:#4b8c3a;border:3px solid #173811;border-top-color:#9ce36d;border-left-color:#9ce36d;color:#fff;font:17px "Press Start 2P","Microsoft YaHei",monospace}.recipeList{display:grid;grid-template-columns:1fr 1fr;gap:6px}.recipeList button{cursor:pointer;padding:9px;background:#3b2718;border:3px solid #1b1009;border-top-color:#b57b43;border-left-color:#b57b43;color:#fff2cb;text-align:left;font:17px "VT323","Microsoft YaHei",monospace}.recipeList button.active,.recipeList button:hover{background:#6d4525;color:#fff}.craftBox>#craftCost{display:block;margin-top:10px;text-align:center;color:#ffe49b;font-size:17px}#closeCraft{position:absolute;right:8px;top:5px;cursor:pointer;border:0;background:transparent;color:#fff7df;font-size:29px}@media(max-width:600px){.craftBox{padding:20px 12px}.craftGrid{grid-template-columns:repeat(3,46px)}.craftSlot{width:46px;height:46px}.craftBoard{gap:9px}.craftOutput{width:62px;height:62px}.recipeList{grid-template-columns:1fr}}

#chestPanel{position:fixed;z-index:10;inset:0;display:none;place-items:center;background:#000b;pointer-events:auto}#chestPanel.open{display:grid}.chestBox{position:relative;width:min(470px,calc(100vw - 28px));padding:23px;background:#9b622a;border:5px solid #321906;border-top-color:#e0a55e;border-left-color:#e0a55e;box-shadow:0 0 0 4px #120a03,9px 9px #000b;text-shadow:2px 2px #351807}.chestBox h2{margin:0;color:#fff0b3;font:19px "Press Start 2P","Microsoft YaHei",monospace;line-height:1.55}.chestBox p{margin:10px 0 16px;color:#ffe0a3;font-size:18px}.chestSlots{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:7px;background:#4a280e;border:3px solid #211004;border-top-color:#744219;border-left-color:#744219}.chestSlots i{display:grid;place-items:center;min-height:66px;background:#25201a;border:3px solid #100e0c;border-top-color:#70685a;border-left-color:#70685a;color:#f7e5bd;font:18px "VT323","Microsoft YaHei",monospace;font-style:normal;text-align:center}.chestSlots b{color:#fff;font:15px "Press Start 2P",monospace}.chestBox>small{display:block;margin-top:12px;text-align:center;color:#ffe7b1;font-size:16px}#closeChest{position:absolute;right:8px;top:5px;cursor:pointer;border:0;background:transparent;color:#fff7df;font-size:29px}#sleepScreen{position:fixed;z-index:12;inset:0;display:none;place-content:center;text-align:center;background:#07142de8;color:#e9f4ff;text-shadow:3px 3px #07101f;pointer-events:none}#sleepScreen.open{display:grid;animation:sleepFade 1.45s ease-in-out}#sleepScreen b{font:28px "Press Start 2P","Microsoft YaHei",monospace;line-height:1.6}#sleepScreen small{margin-top:14px;font-size:20px;color:#b9d9ff}@keyframes sleepFade{0%,100%{opacity:0}30%,72%{opacity:1}}@media(max-width:600px){.chestBox{padding:20px 15px}.chestSlots i{min-height:54px;font-size:16px}}

.storageColumns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.storageColumns>div>b{display:block;margin:0 0 6px;color:#ffe6af;font-size:16px}.storageColumns .chestSlots{grid-template-columns:repeat(2,1fr);padding:5px}.storageColumns .chestSlots button{cursor:pointer;min-height:52px;background:#25201a;border:3px solid #100e0c;border-top-color:#70685a;border-left-color:#70685a;color:#f7e5bd;font:16px "VT323","Microsoft YaHei",monospace;text-align:center}.storageColumns .chestSlots button:hover{filter:brightness(1.28);transform:translate(-1px,-1px)}.storageColumns .chestSlots button b{display:block;margin-top:3px;color:#fff;font:13px "Press Start 2P",monospace}.storageColumns .emptySlot{opacity:.55;cursor:default!important}@media(max-width:600px){.storageColumns{grid-template-columns:1fr}.storageColumns .chestSlots{grid-template-columns:repeat(3,1fr)}}
/* 进入游戏后常驻显示的标题，避免被画面或 HUD 元素遮挡。 */
#gameTitle{position:absolute!important;top:18px;left:18px;z-index:4;display:flex!important;visibility:visible!important;opacity:1!important;padding:8px 11px;background:#0b1b2be8;border:3px solid #65d8ff;border-right-color:#123c56;border-bottom-color:#123c56;box-shadow:3px 3px #0009;text-shadow:2px 2px #06111a}@media(max-width:600px){#gameTitle{top:12px;left:12px;padding:6px 8px}#gameTitle.brand b{font-size:12px}#gameTitle.brand small{font-size:10px;margin-top:4px}}
/* 开始界面展示完整游戏名。 */
#startScreen .panel h1{display:block;margin:10px 0 12px;font-size:21px;line-height:1.6;color:#f2fdff;text-shadow:3px 3px #06101a}@media(max-width:600px){#startScreen .panel h1{font-size:16px}}
/* Minecraft 风格九格物品栏：固定在屏幕底部中央。 */
#hotbar{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:grid;grid-template-columns:repeat(9,56px);gap:2px;padding:4px;background:#171717e8;border:4px solid #202020;border-top-color:#b7b7b7;border-left-color:#b7b7b7;border-right-color:#555;border-bottom-color:#555;box-shadow:3px 3px #000a;pointer-events:none}.hotbarSlot{position:relative;display:grid;place-items:center;width:56px;height:56px;background:#8b8b8be8;border:3px solid #373737;border-top-color:#e2e2e2;border-left-color:#e2e2e2;border-right-color:#555;border-bottom-color:#555}.hotbarSlot.selected{outline:3px solid #f5f5f5;outline-offset:2px;background:#a7a7a7}.hotbarSlot.empty{filter:grayscale(1);opacity:.5}.hotbarSlot i{font:29px "VT323","Microsoft YaHei",monospace;font-style:normal;line-height:1;text-shadow:2px 2px #1a1a1a}.hotbarSlot b{position:absolute;right:4px;bottom:1px;font:18px "Press Start 2P",monospace;color:#fff;text-shadow:2px 2px #222}.hotbarSlot.coal i{color:#252525}.hotbarSlot.iron i{color:#e4e7e6}.hotbarSlot.copper i{color:#e99355}.hotbarSlot.gold i{color:#ffe34a}.hotbarSlot.diamond i{color:#64efff}.hotbarSlot.emerald i{color:#63ec9b}.hotbarSlot.storageSlot[data-item="stone"] i{color:#91999d;font-size:32px}.hotbarSlot.storageSlot[data-item="planks"] i{color:#d49a57;font-size:30px}.hotbarSlot.storageSlot[data-item="coal"] i{color:#252525}.hotbarSlot.storageSlot[data-item="iron"] i{color:#e4e7e6}.hotbarSlot.storageSlot[data-item="copper"] i{color:#e99355}.hotbarSlot.storageSlot[data-item="gold"] i{color:#ffe34a}.hotbarSlot.storageSlot[data-item="redstone"] i,.hotbarSlot.storageSlot[data-item="ruby"] i{color:#ef5360}.hotbarSlot.storageSlot[data-item="diamond"] i,.hotbarSlot.storageSlot[data-item="azureCrystal"] i{color:#64efff}.hotbarSlot.storageSlot[data-item="emerald"] i,.hotbarSlot.storageSlot[data-item="jade"] i{color:#63ec9b}.hotbarSlot.storageSlot[data-item="amethyst"] i{color:#c08cff}.hotbarSlot.storageSlot[data-item="roseCrystal"] i{color:#ff9bc7}.hotbarSlot.storageSlot[data-item="sapphire"] i{color:#6e9dff}#tip{bottom:92px;font-size:16px}#mission{bottom:108px}#backpackPanel{position:fixed;z-index:11;inset:0;display:none;place-items:center;background:#000b;pointer-events:auto}#backpackPanel.open{display:grid}.backpackBox{position:relative;width:min(840px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;padding:22px;background:#6b472b;border:5px solid #29170a;border-top-color:#c28a4c;border-left-color:#c28a4c;box-shadow:0 0 0 4px #120902,9px 9px #000c;text-shadow:2px 2px #291505}.backpackBox h2{margin:0;color:#ffe5a5;font:19px "Press Start 2P","Microsoft YaHei",monospace}.backpackBox>p{margin:9px 0 13px;color:#ffe0aa;font-size:17px}.backpackGrid{display:grid;grid-template-columns:repeat(12,56px);gap:4px;padding:7px;background:#2c1a10;border:4px solid #170c06;border-top-color:#8b5a32;border-left-color:#8b5a32}.backpackSlot{position:relative;display:grid;place-items:center;width:56px;height:56px;background:#222;border:3px solid #111;border-top-color:#707070;border-left-color:#707070;color:#fff}.backpackSlot i{font:29px "VT323","Microsoft YaHei",monospace;font-style:normal;line-height:1;text-shadow:2px 2px #111}.backpackSlot b{position:absolute;right:3px;bottom:1px;font:15px "Press Start 2P",monospace;text-shadow:2px 2px #111}.backpackSlot.empty{opacity:.45}.backpackSlot[data-item="stone"] i{color:#91999d;font-size:32px}.backpackSlot[data-item="planks"] i{color:#d49a57;font-size:30px}.backpackSlot[data-item="coal"] i{color:#252525}.backpackSlot[data-item="iron"] i{color:#e4e7e6}.backpackSlot[data-item="copper"] i{color:#e99355}.backpackSlot[data-item="gold"] i{color:#ffe34a}.backpackSlot[data-item="redstone"] i,.backpackSlot[data-item="ruby"] i{color:#ef5360}.backpackSlot[data-item="diamond"] i,.backpackSlot[data-item="azureCrystal"] i{color:#64efff}.backpackSlot[data-item="emerald"] i,.backpackSlot[data-item="jade"] i{color:#63ec9b}.backpackSlot[data-item="amethyst"] i{color:#c08cff}.backpackSlot[data-item="roseCrystal"] i{color:#ff9bc7}.backpackSlot[data-item="sapphire"] i{color:#6e9dff}#closeBackpack{position:absolute;right:8px;top:5px;cursor:pointer;border:0;background:transparent;color:#fff7df;font-size:29px}.backpackBox>small{display:block;margin-top:10px;color:#ffe7b1;text-align:center;font-size:15px}@media(max-width:600px){#hotbar{bottom:10px;grid-template-columns:repeat(9,38px);gap:1px;padding:3px}.hotbarSlot{width:38px;height:38px;border-width:2px}.hotbarSlot i{font-size:21px}.hotbarSlot b{right:2px;bottom:0;font-size:11px}.hotbarSlot.selected{outline-width:2px;outline-offset:1px}#tip{bottom:61px;font-size:12px;white-space:nowrap;transform:scale(.78);transform-origin:center}#mission{bottom:77px}.backpackBox{padding:16px 12px}.backpackGrid{grid-template-columns:repeat(12,38px);gap:2px;padding:4px}.backpackSlot{width:38px;height:38px;border-width:2px}.backpackSlot i{font-size:20px}.backpackSlot b{font-size:9px}}
