:root{--mc-font: "Press Start 2P", "Courier New", monospace;--dirt: #5a3a1a;--dirt2: #3e2810;--stone: #6b6b6b;--btn: #7a7a7a;--btn-border-light: #ffffff55;--btn-border-dark: #00000088;--green-sel: #7cfc00;--slot: #8b8b8b;--inv-bg: #c6c6c6}*{box-sizing:border-box;margin:0;padding:0;user-select:none;-webkit-user-select:none}input,textarea,.mc-input{user-select:text;-webkit-user-select:text}html,body,#app{width:100%;height:100%;overflow:hidden;background:#000}#game{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.hidden{display:none!important}#use-hint{position:absolute;left:50%;top:54%;transform:translate(-50%);font-family:var(--mc-font);font-size:9px;color:#fff;text-shadow:2px 2px 0 #000;z-index:12;pointer-events:none;background:#0008;padding:6px 10px;border:2px solid #000;text-align:center;white-space:pre-line;line-height:1.55;max-width:min(420px,80vw)}#use-hint.hidden{display:none!important}#crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#fff;font-size:22px;font-weight:700;pointer-events:none;text-shadow:1px 1px 0 #000;z-index:5;font-family:var(--mc-font);opacity:0;mix-blend-mode:difference}#crosshair.visible{opacity:.9}#hurt{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:8;background:radial-gradient(ellipse at center,transparent 18%,#ff101066 55%,#c00000cc 100%);opacity:0}#hurt.on{animation:hurt-vignette .55s ease-out forwards}@keyframes hurt-vignette{0%{opacity:1}35%{opacity:.82}to{opacity:0}}#underwater{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:7;background:radial-gradient(ellipse at center,#1a6ab044,#08355ccc 70%),linear-gradient(#0a4a8088,#062438cc);opacity:0;transition:opacity .18s linear;box-shadow:inset 0 0 80px #041828}#underwater.on{opacity:1}#recipes{position:absolute;top:0;right:0;bottom:0;left:0;z-index:32;display:flex;align-items:center;justify-content:center;background:#0008;font-family:var(--mc-font)}#recipes.hidden{display:none!important}.recipes-panel{max-height:78vh;overflow:auto;min-width:420px}.recipes-list{display:flex;flex-direction:column;gap:10px;max-height:58vh;overflow-y:auto}.recipe-card{background:#8b8b8b55;border:2px solid #373737;padding:8px}.recipe-name{font-size:8px;color:#3f3f3f;margin-bottom:6px;text-shadow:1px 1px 0 #fff}.recipe-body{display:flex;align-items:center;gap:10px}.recipe-grid{display:flex;flex-direction:column;gap:2px}.recipe-row{display:flex;gap:2px}.recipe-cell,.recipe-result{width:32px;height:32px;background:#8b8b8b;border:2px solid;border-color:#373737 #fff #fff #373737;display:flex;align-items:center;justify-content:center;position:relative}.recipe-cell.empty{background:#3a3a3a;border-color:#1a1a1a #5a5a5a #5a5a5a #1a1a1a}.recipe-cell .slot-icon,.recipe-result .slot-icon{width:22px;height:22px;margin:0}#item-tip{position:fixed;z-index:90;pointer-events:none;display:none;background:#100010f2;color:#fff;border:2px solid #2a0a4a;font-family:var(--mc-font);font-size:10px;padding:6px 8px;text-shadow:2px 2px 0 #3e3e3e;white-space:nowrap;max-width:260px}#item-tip.show{display:block}.panel-screen{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(#00000073,#0000008c),repeating-linear-gradient(0deg,#5a3a1a 0,#5a3a1a 8px,#4a2e12 8px,#4a2e12 16px),repeating-linear-gradient(90deg,#5a3a1a 0,#5a3a1a 8px,#4a2e12 8px,#4a2e12 16px);background-size:auto,64px 64px,64px 64px;font-family:var(--mc-font);color:#fff;image-rendering:pixelated}.mc-title{font-size:clamp(18px,4vw,36px);color:#fff;text-shadow:3px 3px 0 #3f3f3f,0 0 12px #000;margin-bottom:8px;letter-spacing:2px}.mc-subtitle{font-size:10px;color:#ff5;margin-bottom:28px;text-shadow:2px 2px 0 #000}.mc-panel{background:linear-gradient(180deg,#c6c6c6,#8b8b8b);border:3px solid #000;box-shadow:inset 2px 2px #fff8,inset -2px -2px #0006,4px 4px #0005;padding:16px;width:min(480px,92vw)}.mc-label{font-size:10px;color:#3f3f3f;margin:8px 0 4px;text-shadow:1px 1px 0 #fff}.mc-input{width:100%;padding:10px;font-family:var(--mc-font);font-size:10px;background:#000;color:#fff;border:2px solid #a0a0a0;outline:none}.mc-input:focus{border-color:#fff}.mc-btn{font-family:var(--mc-font);font-size:10px;color:#fff;background:linear-gradient(180deg,#8b8b8b,#5a5a5a);border:2px solid #000;box-shadow:inset 2px 2px #fff5,inset -2px -2px #0008;padding:12px 16px;cursor:pointer;margin-top:10px;width:100%;text-shadow:2px 2px 0 #000}.mc-btn:hover{background:linear-gradient(180deg,#9b9b9b,#6a6a6a)}.mc-btn:active{box-shadow:inset -2px -2px #fff3,inset 2px 2px #0008}.mc-btn.primary{background:linear-gradient(180deg,#5a8a3a,#3d6b28)}.mc-btn.primary:hover{background:linear-gradient(180deg,#6a9a4a,#4d7b38)}.mc-btn.danger{background:linear-gradient(180deg,#8a3a3a,#5a2828)}.room-list{max-height:180px;overflow-y:auto;margin-top:10px;background:#0008;border:2px solid #000;padding:4px}.room-row{display:flex;justify-content:space-between;align-items:center;padding:8px;font-size:8px;color:#fff;cursor:pointer;border:1px solid transparent}.room-row:hover{background:#fff2;border-color:#ff5}.room-row .meta{color:#aaa}.row{display:flex;gap:8px}.row>*{flex:1}#hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:10;font-family:var(--mc-font)}.hotbar{position:absolute;bottom:18px;left:50%;transform:translate(-50%);display:flex;gap:0;background:#0008;border:4px solid #000;box-shadow:inset 2px 2px #fff3,0 4px 12px #0008;image-rendering:pixelated}.slot{width:60px;height:60px;border:3px solid #373737;background:#8b8b8b55;position:relative;image-rendering:pixelated;display:flex;align-items:center;justify-content:center}.slot.selected{border:3px solid var(--green-sel);box-shadow:0 0 0 1px #000,inset 0 0 6px #7cfc0044;z-index:1}.slot-count{position:absolute;right:4px;bottom:3px;font-size:12px;color:#fff;text-shadow:2px 2px 0 #000}.slot-icon{width:36px;height:36px;margin:0;display:block;object-fit:contain;image-rendering:pixelated;pointer-events:none}.slot-icon-pop{position:fixed;z-index:25;margin:0;animation:slot-bounce .38s ease-out forwards;pointer-events:none}@keyframes slot-bounce{0%{transform:scale(1)}30%{transform:scale(1.45)}60%{transform:scale(.9)}to{transform:scale(1)}}.bars{position:absolute;bottom:92px;left:50%;transform:translate(-50%);display:flex;gap:48px;align-items:flex-end;width:min(560px,92vw);justify-content:space-between}.hearts,.hunger,.air{display:flex;gap:2px}.right-stats{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.pip{width:22px;height:22px;image-rendering:pixelated;font-size:18px;line-height:22px;text-shadow:2px 2px 0 #000;display:inline-flex;align-items:center;justify-content:center}.pip img{width:22px;height:22px;object-fit:contain;image-rendering:pixelated;pointer-events:none}.pip.half img{clip-path:inset(0 50% 0 0)}.pip.empty img{filter:grayscale(1) brightness(.35);opacity:.45}.heart{color:#e03030}.hunger-pip{color:#c07030}.air-pip{color:#7ad4f0}.pip.heart-lost{animation:heart-break .48s ease-out}@keyframes heart-break{0%{transform:scale(1.55);filter:brightness(2.8) saturate(1.4)}28%{transform:scale(.72) rotate(-18deg);filter:brightness(1.1)}55%{transform:scale(1.18) rotate(8deg)}to{transform:scale(1) rotate(0)}}.pip.air-lost{animation:air-pop .4s ease-out}@keyframes air-pop{0%{transform:scale(1.4);filter:brightness(2);opacity:1}40%{transform:scale(.6);opacity:.7}to{transform:scale(1);opacity:1}}.ver{position:absolute;top:8px;left:50%;transform:translate(-50%);font-size:9px;color:#ffa;text-shadow:2px 2px 0 #000;opacity:.9;pointer-events:none;z-index:15}.debug{position:absolute;top:26px;left:10px;font-size:10px;color:#fff;text-shadow:2px 2px 0 #000;opacity:.85}#cave-dark{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:6;background:radial-gradient(ellipse at center,transparent 10%,#000000cc 80%);opacity:0;transition:opacity .2s linear}#cave-dark.on{opacity:1}#trade{position:absolute;top:0;right:0;bottom:0;left:0;z-index:34;display:flex;align-items:center;justify-content:center;background:#0008;font-family:var(--mc-font)}#trade.hidden{display:none!important}.trade-panel{min-width:min(420px,92vw)}.trade-row{display:flex;flex-direction:column;gap:6px;width:100%;margin:8px 0;padding:8px;cursor:pointer;background:#8b8b8b;border:3px solid #000;color:#1a1a1a;font-family:var(--mc-font);font-size:8px;text-align:left}.trade-row:hover{background:#a0d070}.trade-pay{display:flex;align-items:center;gap:8px}.trade-line{color:#3f3f3f;line-height:1.4}#inventory{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;background:#0008;font-family:var(--mc-font)}.inv-panel{background:#c6c6c6;border:4px solid #000;box-shadow:inset 3px 3px #fff,inset -3px -3px #555;padding:16px 20px;min-width:360px}.inv-title{font-size:10px;color:#3f3f3f;margin-bottom:10px;text-shadow:1px 1px 0 #fff}.inv-hint{font-size:8px;color:#555;margin-top:8px;text-shadow:1px 1px 0 #fff}#inv-cursor{position:fixed;pointer-events:none;z-index:80;width:36px;height:36px;transform:translate(-50%,-50%);filter:drop-shadow(2px 2px 0 #000);display:flex;align-items:center;justify-content:center}#inv-cursor .slot-icon{width:36px;height:36px;margin:0}.inv-grid{display:grid;gap:2px;margin-bottom:12px}.inv-grid.g9{grid-template-columns:repeat(9,40px)}.inv-grid.g3{grid-template-columns:repeat(3,40px)}.inv-grid.g2{grid-template-columns:repeat(2,40px)}.inv-slot{width:40px;height:40px;background:#8b8b8b;border:2px solid;border-color:#373737 #fff #fff #373737;position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center}.inv-slot .slot-icon{width:28px;height:28px;margin:0}.inv-slot:hover{outline:1px solid #ffff55}.craft-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}.craft-arrow{font-size:16px;color:#3f3f3f}.result-slot{width:48px;height:48px;background:#8b8b8b;border:2px solid;border-color:#373737 #fff #fff #373737;position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center}.result-slot .slot-icon{width:32px;height:32px;margin:0}#pause{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000a;font-family:var(--mc-font);gap:8px}#pause h2{color:#fff;font-size:16px;margin-bottom:16px;text-shadow:2px 2px 0 #000}#pause .mc-btn{width:280px}#chat{position:absolute;bottom:140px;left:12px;width:min(420px,70vw);font-family:var(--mc-font);font-size:10px;color:#fff;text-shadow:1px 1px 0 #000;pointer-events:none;z-index:12}#chat div{background:#0006;padding:2px 4px;margin-top:2px}#death{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:12vh;background:linear-gradient(transparent 35%,#5a0000cc);font-family:var(--mc-font);gap:16px}#death h2{color:#fff;font-size:16px;text-shadow:2px 2px 0 #000}#death .mc-btn{width:280px}.toast{position:absolute;top:20%;left:50%;transform:translate(-50%);font-family:var(--mc-font);font-size:10px;color:#ff5;text-shadow:2px 2px 0 #000;z-index:50;pointer-events:none}.event-banner{position:absolute;top:11%;left:50%;transform:translate(-50%);z-index:55;pointer-events:none;min-width:min(420px,86vw);max-width:520px;display:flex;align-items:center;gap:12px;padding:10px 14px;border:4px solid #fff;font-family:var(--mc-font);color:#fff;text-shadow:2px 2px 0 #000;animation:event-pop .45s steps(4) both,event-pulse .9s ease-in-out .45s 2}.event-banner img{width:40px;height:40px;image-rendering:pixelated;flex-shrink:0}.event-banner .ev-body{display:flex;flex-direction:column;gap:6px}.event-banner .ev-title{font-size:12px;letter-spacing:1px}.event-banner .ev-text{font-size:8px;line-height:1.45;color:#fffde8}.event-banner.epic{background:#3a2408ee;border-color:#ffd24a;box-shadow:0 0 0 3px #000,0 0 22px #ffb000cc}.event-banner.epic .ev-title{color:#ffe27a}.event-banner.fun{background:#3a0830ee;border-color:#ff66d4;box-shadow:0 0 0 3px #000,0 0 22px #ff40c8aa}.event-banner.fun .ev-title{color:#ff9ae8}.event-banner.loot{background:#2a1408ee;border-color:#ff8a2a;box-shadow:0 0 0 3px #000,0 0 22px #ff7010aa}.event-banner.loot .ev-title{color:#ffc070}@keyframes event-pop{0%{transform:translate(-50%) scale(.4) rotate(-6deg);opacity:0}60%{transform:translate(-50%) scale(1.12) rotate(2deg);opacity:1}to{transform:translate(-50%) scale(1) rotate(0)}}@keyframes event-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.35)}}
