html,body{overscroll-behavior:none;-webkit-user-select:none;user-select:none;background:#1a1a1a;width:100%;height:100%;margin:0;padding:0;overflow:hidden}#app{justify-content:center;align-items:center;width:100vw;height:100vh;display:flex}#app canvas{image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;touch-action:none}#craft-toggle,#help-toggle,#save-toggle,#data-toggle,#equipment-toggle{z-index:6}#craft-menu,#help-panel,#save-panel,#data-panel,#equipment-panel,#shop-panel{z-index:4}@media (pointer:coarse){#craft-toggle,#help-toggle,#save-toggle,#data-toggle,#equipment-toggle,#heal-button{padding:10px 16px;font-size:14px}.recipe-card button,.save-slot-row button,.equipment-row button,.shop-row button{padding:8px 12px;font-size:13px}#game-reset-button{padding:12px}#join-form button{padding:14px}}#join-screen{background:#1a1a1a;flex-direction:column;justify-content:center;align-items:center;gap:12px;font-family:system-ui,sans-serif;display:flex;position:fixed;inset:0}#join-form{color:#eee;background:#2a2f2a;border-radius:8px;flex-direction:column;gap:12px;width:260px;padding:24px;display:flex}#join-form h1{text-align:center;margin:0;font-size:20px}#join-subtitle{color:#9fc0f0;text-align:center;margin:0 0 8px;font-size:11px}#join-hint{color:#999;text-align:center;margin:4px 0 0;font-size:10px}#join-form label{flex-direction:column;gap:4px;font-size:13px;display:flex}#join-form input{color:#eee;background:#1a1a1a;border:1px solid #555;border-radius:4px;padding:8px;font-size:14px}#join-form button{color:#fff;cursor:pointer;background:#5b8cde;border:none;border-radius:4px;margin-top:8px;padding:10px;font-size:14px}#join-form button:hover{background:#6f9be8}#game-reset-button{color:#ccc;cursor:pointer;background:0 0;border:1px solid #555;border-radius:4px;width:260px;margin-top:10px;padding:8px;font-size:12px}#game-reset-button:hover{color:#fff;background:#a0282859}#game-reset-button:disabled{opacity:.6;cursor:not-allowed}#touch-dpad{z-index:5;grid-template-rows:repeat(3,52px);grid-template-columns:repeat(3,52px);gap:4px;display:grid;position:fixed;bottom:64px;left:12px}.dpad-button{color:#fff;touch-action:none;-webkit-user-select:none;user-select:none;cursor:pointer;background:#1a1a1a8c;border:none;border-radius:8px;justify-content:center;align-items:center;width:52px;height:52px;font-size:20px;display:flex}.dpad-button:active{background:#5b8cdecc}.dpad-up{grid-area:1/2}.dpad-left{grid-area:2/1}.dpad-right{grid-area:2/3}.dpad-down{grid-area:3/2}#inventory-hud{color:#fff;pointer-events:none;-webkit-user-select:none;user-select:none;background:#1a1a1ab3;border-radius:6px;flex-wrap:wrap;gap:6px 10px;max-width:min(70vw,420px);padding:8px 12px;font-family:system-ui,sans-serif;font-size:14px;display:flex;position:fixed;bottom:12px;left:12px}.inventory-item{align-items:center;gap:4px;display:flex}.inventory-icon{font-size:16px}#health-hud{letter-spacing:2px;pointer-events:none;-webkit-user-select:none;user-select:none;background:#1a1a1ab3;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-size:16px;display:flex;position:fixed;top:12px;left:12px}#heal-button{pointer-events:auto;color:#fff;letter-spacing:normal;cursor:pointer;background:#4a9d5f;border:none;border-radius:4px;padding:4px 8px;font-family:system-ui,sans-serif;font-size:11px}#heal-button:hover{background:#5cb872}#craft-toggle{color:#fff;cursor:pointer;background:#5b8cde;border:none;border-radius:6px;padding:8px 14px;font-family:system-ui,sans-serif;font-size:14px;position:fixed;bottom:12px;right:12px}#craft-toggle:hover{background:#6f9be8}#craft-menu{color:#fff;background:#1a1a1aeb;border-radius:8px;flex-direction:column;gap:8px;width:220px;max-height:min(300px,45vh);padding:12px;font-family:system-ui,sans-serif;position:fixed;bottom:56px;right:12px;overflow-y:auto}#craft-menu h2{margin:0 0 4px;font-size:14px}.recipe-card{background:#ffffff14;border-radius:4px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:flex}.recipe-name{flex:1}.recipe-cost{color:#ccc;white-space:nowrap;font-size:11px}.recipe-card button{color:#fff;cursor:pointer;background:#5b8cde;border:none;border-radius:4px;padding:4px 8px;font-size:11px}.recipe-card button:disabled{color:#999;cursor:not-allowed;background:#555}#help-toggle{color:#fff;cursor:pointer;background:#1a1a1ab3;border:none;border-radius:6px;padding:6px 12px;font-family:system-ui,sans-serif;font-size:13px;position:fixed;top:12px;right:12px}#help-toggle:hover{background:#323232d9}#help-panel{color:#fff;background:#1a1a1aeb;border-radius:8px;flex-direction:column;gap:10px;width:260px;max-height:min(320px,55vh);padding:14px;font-family:system-ui,sans-serif;position:fixed;top:50px;right:12px;overflow-y:auto}#help-panel h2{margin:0;font-size:14px}.help-row{flex-direction:column;gap:2px;font-size:12px;line-height:1.4;display:flex}.help-label{color:#9fc0f0;font-weight:700}.help-desc{color:#ddd}#save-toggle{color:#fff;cursor:pointer;background:#1a1a1ab3;border:none;border-radius:6px;padding:6px 12px;font-family:system-ui,sans-serif;font-size:13px;position:fixed;top:88px;right:12px}#save-toggle:hover{background:#323232d9}#save-panel{color:#fff;background:#1a1a1aeb;border-radius:8px;flex-direction:column;gap:10px;width:260px;max-height:min(300px,45vh);padding:14px;font-family:system-ui,sans-serif;position:fixed;top:126px;right:12px;overflow-y:auto}#save-panel h2{margin:0;font-size:14px}.save-slot-row{justify-content:space-between;align-items:center;gap:6px;font-size:12px;display:flex}.save-slot-label{color:#ddd;flex:1}.save-slot-row button{color:#fff;cursor:pointer;white-space:nowrap;background:#5b8cde;border:none;border-radius:4px;padding:5px 8px;font-size:11px}.save-slot-row button:disabled{color:#999;cursor:not-allowed;background:#555}.save-slot-row button.save-delete-button{background:#8a3a3a}.save-slot-row button.save-delete-button:hover:not(:disabled){background:#a84848}#data-toggle{color:#fff;cursor:pointer;background:#1a1a1ab3;border:none;border-radius:6px;padding:6px 12px;font-family:system-ui,sans-serif;font-size:13px;position:fixed;top:164px;right:12px}#data-toggle:hover{background:#323232d9}#data-panel{color:#fff;background:#1a1a1aeb;border-radius:8px;flex-direction:column;gap:10px;width:280px;max-height:min(320px,55vh);padding:14px;font-family:system-ui,sans-serif;position:fixed;top:202px;right:12px;overflow-y:auto}#data-panel h2{margin:0;font-size:14px}#data-panel h3{color:#ccc;margin:4px 0 0;font-size:12px}#data-panel input[type=file]{color:#ddd;font-size:11px}#data-panel select{border:none;border-radius:4px;padding:4px 6px;font-size:11px}#equipment-toggle{color:#fff;cursor:pointer;background:#1a1a1ab3;border:none;border-radius:6px;padding:6px 12px;font-family:system-ui,sans-serif;font-size:13px;position:fixed;top:240px;right:12px}#equipment-toggle:hover{background:#323232d9}#equipment-panel{color:#fff;background:#1a1a1aeb;border-radius:8px;flex-direction:column;gap:8px;width:260px;max-height:min(300px,45vh);padding:14px;font-family:system-ui,sans-serif;position:fixed;top:278px;right:12px;overflow-y:auto}#equipment-panel h2{margin:0;font-size:14px}.equipment-row{justify-content:space-between;align-items:center;gap:6px;font-size:12px;display:flex}.equipment-row button{color:#fff;cursor:pointer;white-space:nowrap;background:#5b8cde;border:none;border-radius:4px;padding:5px 8px;font-size:11px}.equipment-current-badge{white-space:nowrap;background:#4a9d5f;border-radius:4px;padding:3px 6px;font-size:10px}.equipment-empty{color:#aaa;margin:0;font-size:11px}#shop-panel{color:#fff;z-index:10;background:#141414f5;border-radius:8px;flex-direction:column;gap:8px;width:280px;max-height:min(320px,60vh);padding:14px;font-family:system-ui,sans-serif;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 4px 24px #00000080}.shop-header{justify-content:space-between;align-items:center;display:flex}#shop-panel h2{margin:0;font-size:14px}#shop-close{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:4px;padding:2px 8px;font-size:13px}#shop-close:hover{background:#ffffff3d}.shop-section-heading{color:#9fc0f0;margin-top:4px;font-size:11px;font-weight:700}.shop-row{justify-content:space-between;align-items:center;gap:6px;font-size:12px;display:flex}.shop-item-label{color:#ddd;flex:1}.shop-row button{color:#fff;cursor:pointer;white-space:nowrap;background:#5b8cde;border:none;border-radius:4px;padding:5px 8px;font-size:11px}.shop-row button:disabled{color:#999;cursor:not-allowed;background:#555}
