@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap');
.touch-actions{display:none}
:root{font-family:Manrope,"Noto Sans SC",system-ui,sans-serif;color:#f4f5ef;background:#111813;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;height:100dvh;overflow:hidden;background:radial-gradient(ellipse at 50% 0%,#2d392d 0,#151d17 53%,#101611 100%)}button{font:inherit;color:inherit}.game-shell{position:relative;width:min(100vw,1600px);height:100dvh;min-height:560px;margin:auto;overflow:hidden;background:#263b32;isolation:isolate}#world{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}.top-bar{position:absolute;z-index:2;top:0;left:0;right:0;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:linear-gradient(180deg,rgba(12,17,14,.74),rgba(12,17,14,0));pointer-events:none}.brand,.top-actions{display:flex;align-items:center;gap:12px;pointer-events:auto}.brand{font-weight:800;letter-spacing:.01em}.brand small{display:block;color:#b2bcae;font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin-top:2px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid #b4ca92;border-radius:10px;background:#a8c27c;color:#202a1f;font-weight:900;box-shadow:0 4px 18px #0005}.top-actions{gap:9px}.time-chip,.icon-button{height:37px;border:1px solid #ffffff29;background:#101713bd;backdrop-filter:blur(10px);border-radius:11px}.time-chip{display:flex;align-items:center;gap:8px;padding:0 13px;font:500 12px "DM Mono",monospace;letter-spacing:.08em}.sun{color:#eac56f;font-size:15px}.icon-button{width:38px;cursor:pointer;color:#d6ded1;font-size:18px}.icon-button:hover,.backpack-button:hover{background:#304232}.world-label{position:absolute;top:99px;left:34px;padding:9px 12px;border:1px solid #fff2;border-radius:10px;background:#121a15a8;backdrop-filter:blur(8px);font-size:11px;font-weight:700;letter-spacing:.04em}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#a7cb78;margin-right:7px;box-shadow:0 0 10px #b6db83}.coords{margin-left:12px;color:#aab8a8;font:10px "DM Mono",monospace}.hint{position:absolute;left:50%;top:87px;transform:translateX(-50%);padding:8px 13px;border:1px solid #fff2;border-radius:20px;background:#11181380;color:#e3e9dc;font-size:11px;white-space:nowrap;backdrop-filter:blur(8px);opacity:.9}.crosshair{position:absolute;top:50%;left:50%;width:18px;height:18px;transform:translate(-50%,-50%);opacity:.86;pointer-events:none}.crosshair:before,.crosshair:after,.crosshair i,.crosshair b{content:"";position:absolute;display:block;background:#fff;box-shadow:0 1px 3px #000}.crosshair:before{width:2px;height:6px;left:8px;top:0}.crosshair:after{width:2px;height:6px;left:8px;bottom:0}.crosshair i{height:2px;width:6px;left:0;top:8px}.crosshair b{height:2px;width:6px;right:0;top:8px}.target-name{position:absolute;top:calc(50% + 22px);left:50%;transform:translateX(-50%);font-size:10px;color:#eff4e8;text-shadow:0 1px 4px #000;letter-spacing:.08em}.backpack-button{position:absolute;right:29px;bottom:111px;display:flex;align-items:center;gap:10px;padding:10px 13px;border:1px solid #fff3;border-radius:11px;background:#131a16b8;backdrop-filter:blur(10px);cursor:pointer;font-size:11px;font-weight:700;transition:.2s}.backpack-button span{font-size:17px;color:#bfd19b}.backpack-button kbd,.panel-footer kbd{font:10px "DM Mono",monospace;color:#d4ddcb;border:1px solid #ffffff35;border-radius:4px;padding:2px 5px;margin-left:5px}.hotbar{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);display:flex;gap:5px;padding:6px;border:1px solid #ffffff2c;border-radius:13px;background:#121713b8;backdrop-filter:blur(12px);box-shadow:0 8px 35px #0005}.hotbar-slot,.item-slot,.craft-slot{position:relative;display:flex;align-items:center;justify-content:center;border:1px solid #ffffff19;border-radius:8px;background:#f1f0df0b;cursor:pointer;transition:background .15s,border-color .15s}.hotbar-slot{width:51px;height:50px}.hotbar-slot.active{border-color:#d9dfa2;background:#d4dc9830;box-shadow:inset 0 0 0 1px #d9dfa255}.slot-icon{font-size:23px;filter:drop-shadow(0 2px 2px #0009)}.slot-qty{position:absolute;right:5px;bottom:3px;color:#fff;font:10px "DM Mono",monospace;text-shadow:0 1px 3px #000}.slot-key{position:absolute;top:3px;left:5px;color:#b1baae;font:8px "DM Mono",monospace}.touch-controls{display:none;position:absolute;left:18px;bottom:26px;gap:8px;flex-direction:column;align-items:center;touch-action:none}.touch-controls>div{display:flex;gap:5px}.touch-controls button{width:42px;height:42px;border:1px solid #fff3;border-radius:12px;background:#121713b8;backdrop-filter:blur(8px);font-size:14px;touch-action:none}.touch-controls .touch-actions{position:absolute;left:124px;bottom:0}.touch-actions button{font-size:19px;color:#e0e9d7}.toast{position:absolute;left:50%;top:calc(50% + 62px);transform:translate(-50%,10px);padding:8px 13px;border:1px solid #ffffff25;border-radius:8px;background:#151e17e8;color:#e9f0df;font-size:11px;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
.inventory-layer{position:absolute;inset:0;z-index:5;display:grid;place-items:center;padding:24px;background:#080d0a9c;backdrop-filter:blur(9px);opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}.inventory-layer.open{opacity:1;visibility:visible}.inventory-panel{width:min(780px,100%);padding:26px 30px 18px;border:1px solid #74816e70;border-radius:18px;background:linear-gradient(145deg,#252e26f7,#171e19fa 64%);box-shadow:0 30px 100px #0009}.panel-header,.panel-footer,.section-heading{display:flex;align-items:center;justify-content:space-between}.panel-header{padding-bottom:20px;border-bottom:1px solid #ffffff13}.eyebrow{margin:0 0 5px;color:#9eb479;font:10px "DM Mono",monospace;letter-spacing:.18em}.panel-header h1{margin:0;font-size:22px;letter-spacing:.02em}.close-button{width:34px;height:34px;border:1px solid #fff2;border-radius:10px;background:#ffffff08;color:#cad1c7;font-size:25px;line-height:1;cursor:pointer}.inventory-content{display:grid;grid-template-columns:1fr 1.05fr;gap:34px;padding:23px 0}.section-heading{margin-bottom:13px;align-items:flex-start}.section-heading h2{margin:0;font-size:13px;font-weight:700}.section-heading>span,.section-heading p{color:#97a192;font-size:10px}.section-heading p{margin:4px 0 0}.bench-badge{padding:4px 7px;border:1px solid #adbd8650;border-radius:6px;color:#c6d6a8!important;font:10px "DM Mono",monospace!important}.item-grid,.craft-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.item-slot{height:59px;flex-direction:column;gap:1px}.item-slot:hover,.craft-slot:hover{border-color:#aabd8b88;background:#d5e2b11a}.item-slot.selected{border-color:#d6e6a4;background:#bcd78e24}.item-slot .slot-icon{font-size:22px}.item-label{font-size:8px;color:#aeb8a9}.inventory-note{display:flex;gap:9px;margin-top:14px;padding:11px;border:1px solid #ffffff12;border-radius:9px;color:#9da89b;font-size:9px;line-height:1.6}.note-icon{color:#c3d794;font-size:13px}.craft-workspace{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0 18px}.craft-grid{width:180px;grid-template-columns:repeat(3,1fr);gap:5px}.craft-slot{height:53px}.craft-slot .slot-icon{font-size:20px}.craft-arrow{color:#98a28f;font-size:23px}.craft-result{width:62px;height:62px;border:1px solid #d3dbb270;border-radius:12px;background:linear-gradient(145deg,#b2c48126,#fff0);cursor:pointer}.craft-result.ready{border-color:#d9e8aa;background:#cedd9c28;box-shadow:0 0 23px #d2e6a21f}.craft-result .slot-icon{font-size:30px}.result-placeholder{color:#74806f;font-size:18px}.recipe-tip{position:relative;margin:1px 0 14px;padding:11px 12px 10px;border:1px solid #ffffff12;border-radius:10px;background:#ffffff05}.recipe-tip>span{color:#c7d4b0;font-size:10px;font-weight:700}.recipe-mini{position:absolute;top:9px;right:10px;display:grid;grid-template-columns:repeat(3,12px);gap:2px}.recipe-mini i{display:grid;place-items:center;width:12px;height:12px;border:1px solid #ffffff20;border-radius:2px;color:#d2dfb7;font:8px sans-serif;font-style:normal}.recipe-tip p{margin:8px 0 0;color:#a4afa0;font-size:9px}.recipe-tip p b{padding:0 4px;color:#d3dfb8;font-weight:500}.craft-button{width:100%;height:38px;border:1px solid #9aac7655;border-radius:9px;background:#71855445;color:#dce5c9;font-size:11px;font-weight:700;cursor:pointer}.craft-button:disabled{border-color:#ffffff12;background:#ffffff08;color:#758072;cursor:not-allowed}.craft-button:not(:disabled):hover{background:#8aa06477}.panel-footer{padding-top:14px;border-top:1px solid #ffffff13;color:#7f8b7f;font-size:9px}.panel-footer kbd{font-size:9px}.panel-footer span:last-child{font:9px "DM Mono",monospace;letter-spacing:.04em}
@media(max-width:700px){.game-shell{min-height:0}.top-bar{height:64px;padding:0 16px}.world-label{left:16px;top:78px}.hint{top:121px;bottom:auto;max-width:76%;white-space:normal;text-align:center;font-size:9px}.backpack-button{right:14px;bottom:148px;padding:9px 10px}.backpack-button b{font-size:10px}.hotbar{bottom:78px;gap:3px;padding:5px}.hotbar-slot{width:min(10.3vw,47px);height:47px}.touch-controls{display:flex}.inventory-layer{padding:10px}.inventory-panel{padding:19px 17px 14px;max-height:94dvh;overflow-y:auto}.panel-header{padding-bottom:13px}.panel-header h1{font-size:18px}.inventory-content{grid-template-columns:1fr;gap:19px;padding:17px 0}.item-slot{height:48px}.craft-workspace{justify-content:flex-start;gap:12px;padding:8px 0 12px}.craft-grid{width:min(48vw,180px)}.craft-slot{height:min(14vw,53px)}.craft-result{margin-left:auto}.inventory-note{margin-top:9px}.panel-footer{padding-top:10px}.coords{display:none}}@media(max-height:650px) and (min-width:701px){.inventory-panel{padding-top:18px;padding-bottom:12px}.inventory-content{padding:14px 0;gap:25px}.item-slot{height:49px}.craft-slot{height:45px}.craft-workspace{padding:9px 0 12px}.inventory-note{margin-top:9px}}
.touch-actions button{width:48px;height:48px;border:1px solid #fff3;border-radius:12px;background:#121713d9;backdrop-filter:blur(8px);touch-action:none}
@media (max-width:700px), (hover:none) and (pointer:coarse){
  .game-shell{min-height:0;--control-bottom:calc(16px + env(safe-area-inset-bottom,0px))}
  .touch-controls{display:flex;left:calc(16px + env(safe-area-inset-left,0px));bottom:var(--control-bottom);gap:6px;z-index:3}
  .touch-controls>div{gap:6px}
  .touch-controls button{width:48px;height:48px}
  .touch-actions{display:flex;position:absolute;right:calc(16px + env(safe-area-inset-right,0px));bottom:var(--control-bottom);gap:10px;z-index:3}
  .hotbar{bottom:calc(134px + env(safe-area-inset-bottom,0px));z-index:2}
  .backpack-button{right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(208px + env(safe-area-inset-bottom,0px))}
  .backpack-button kbd,.slot-key,.panel-footer span{display:none}
  .panel-footer::before{content:'点按材料与格子进行合成'}
  .top-bar{top:env(safe-area-inset-top,0px)}
}
@media (max-height:500px) and (hover:none) and (pointer:coarse){.hint,.world-label{display:none}}
#terrain{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
@media (max-width:700px), (hover:none) and (pointer:coarse){
  .touch-actions{display:grid;grid-template-columns:48px 48px;gap:6px}
  #touchJump{grid-column:1 / -1;justify-self:center}
}
