:root{--wl-bg:#0d1410;--wl-panel:#0c120eb8;--wl-text:#e8e4d8;--wl-muted:#a8a593;--wl-accent:#c9a25a;--wl-accent-hover:#ddb872;--wl-border:#e8e4d82e;--wl-font:"Segoe UI", system-ui, -apple-system, Roboto, sans-serif}*{box-sizing:border-box}html,body{background:var(--wl-bg);height:100%;color:var(--wl-text);font-family:var(--wl-font);-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}#game-root,#game-root canvas{width:100%;height:100%;display:block;position:fixed;inset:0}#ui-root{pointer-events:none;position:fixed;inset:0}.hidden{display:none!important}.screen{pointer-events:auto;background:radial-gradient(#0d14108c 0%,#0d1410eb 100%);flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:absolute;inset:0}.screen.dim{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#080c0a99}.title{letter-spacing:.35em;text-shadow:0 4px 24px #0009;margin:0;padding-left:.35em;font-size:clamp(48px,8vw,96px);font-weight:300}.title.small{font-size:clamp(32px,5vw,56px)}.subtitle{color:var(--wl-muted);letter-spacing:.1em;text-align:center;max-width:640px;margin:0 0 12px}.hint{min-height:1.2em;color:var(--wl-muted);margin:0;font-size:14px}.btn{min-width:240px;font:inherit;letter-spacing:.12em;text-transform:uppercase;color:#15110a;background:var(--wl-accent);cursor:pointer;border:none;border-radius:3px;padding:12px 28px;font-size:16px;transition:background .15s,transform .1s}.btn:hover{background:var(--wl-accent-hover)}.btn:active{transform:translateY(1px)}.btn.secondary{color:var(--wl-text);border:1px solid var(--wl-border);background:0 0}.btn.secondary:hover{background:#e8e4d814}.controls{color:var(--wl-muted);background:var(--wl-panel);border:1px solid var(--wl-border);border-radius:4px;grid-template-columns:repeat(2,minmax(160px,auto));gap:8px 32px;margin-top:24px;padding:16px 24px;font-size:14px;display:grid}kbd{text-align:center;min-width:22px;color:var(--wl-text);border:1px solid var(--wl-border);background:#ffffff0d;border-radius:3px;margin-right:3px;padding:1px 6px;font-family:inherit;font-size:12px;display:inline-block}#crosshair{background:#ffffffd9;border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;position:absolute;top:50%;left:50%;box-shadow:0 0 2px #000c}#debug-panel{color:#d8f0d0;background:#0000008c;border-radius:3px;margin:0;padding:8px 12px;font:12px/1.5 ui-monospace,Consolas,monospace;position:absolute;top:12px;left:12px}.hud{pointer-events:none;position:absolute;inset:0}.hotbar{gap:6px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.slot{border:1px solid var(--wl-border);background:#0c120e9e;border-radius:4px;width:58px;height:58px;position:relative}.slot.selected{border-color:var(--wl-accent);box-shadow:0 0 0 1px var(--wl-accent), 0 0 12px #c9a25a59}.slot-icon{position:absolute;inset:7px}.slot-icon svg{filter:drop-shadow(0 1px 1px #00000080);width:100%;height:100%;display:block}.slot-key{color:var(--wl-muted);font-size:10px;position:absolute;top:2px;left:4px}.slot-qty{text-shadow:0 1px 2px #000;font-size:13px;font-weight:600;position:absolute;bottom:2px;right:4px}.slot-dur{background:#00000080;height:3px;position:absolute;bottom:3px;left:5px;right:5px}.slot-dur-fill{background:#8fc06a;height:100%}.held-name{letter-spacing:.08em;text-shadow:0 1px 3px #000;opacity:0;font-size:14px;transition:opacity .25s;position:absolute;bottom:122px;left:50%;transform:translate(-50%)}.held-name.show{opacity:1}.prompt{text-align:center;text-shadow:0 1px 2px #000;background:#0c120e8c;border-radius:3px;min-width:160px;padding:6px 12px;position:absolute;top:calc(50% + 26px);left:50%;transform:translate(-50%)}.prompt-name{font-size:14px;font-weight:600}.prompt-action{color:var(--wl-muted);margin-top:3px;font-size:12px}.prompt-bar{background:#00000080;border-radius:2px;width:120px;height:4px;margin:5px auto 0;overflow:hidden}.prompt-bar-fill{background:var(--wl-accent);height:100%;transition:width .15s}.toasts{flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute;bottom:100px;right:20px}.toast{border-left:3px solid var(--wl-accent);background:#0c120eb3;border-radius:3px;align-items:center;gap:8px;padding:5px 12px 5px 6px;font-size:14px;transition:opacity .5s;animation:.2s ease-out toast-in;display:flex}.toast.warn{border-left-color:#c96a5a;padding-left:12px}.toast.fade{opacity:0}.toast-icon{width:26px;height:26px}.toast-icon svg{width:100%;height:100%}@keyframes toast-in{0%{opacity:0;transform:translate(20px)}}.inventory-panel{border:1px solid var(--wl-border);background:#0e1410eb;border-radius:6px;padding:18px 22px 14px;box-shadow:0 12px 40px #00000080}.inventory-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.inventory-title{letter-spacing:.25em;text-transform:uppercase;margin:0;font-size:20px;font-weight:300}.inventory-label{letter-spacing:.15em;text-transform:uppercase;color:var(--wl-muted);margin:10px 0 6px;font-size:11px}.inventory-grid{grid-template-columns:repeat(6,58px);gap:6px;display:grid}.inventory-grid .slot{cursor:grab}.inventory-grid .slot.empty{cursor:default}.inventory-grid .slot:hover{border-color:#e8e4d873}.inventory-grid .slot.drag-over{border-color:var(--wl-accent);background:#c9a25a26}.equip-row{grid-template-columns:repeat(3,58px)}.equip-slot .slot-key{text-transform:uppercase;letter-spacing:.05em;font-size:9px}.inventory-help{max-width:380px;margin-top:12px;font-size:12px}.btn.small{min-width:0;padding:6px 14px;font-size:12px}.item-tooltip{z-index:10;pointer-events:none;border:1px solid var(--wl-border);background:#080c0af2;border-radius:4px;max-width:240px;padding:8px 12px;font-size:13px;position:fixed}.tooltip-name{font-size:14px;font-weight:600}.tooltip-category{color:var(--wl-accent);letter-spacing:.1em;text-transform:uppercase;margin:2px 0 6px;font-size:11px}.tooltip-desc{color:var(--wl-text)}.tooltip-meta{color:var(--wl-muted);margin-top:4px;font-size:12px}.survival{background:#0c120e80;border-radius:4px;flex-direction:column;gap:6px;padding:10px 12px;display:flex;position:absolute;bottom:20px;left:20px}.survival-row{align-items:center;gap:8px;display:flex}.survival-icon svg{width:16px;height:16px;fill:var(--wl-text);display:block}.survival-track{background:#00000080;border-radius:4px;width:150px;height:7px;overflow:hidden}.survival-fill{border-radius:4px;height:100%;transition:width .3s}.survival-row.health .survival-fill{background:#c9584a}.survival-row.hunger .survival-fill{background:#d39a4a}.survival-row.thirst .survival-fill{background:#5aa0c9}.survival-row.warmth .survival-fill{background:#e0b25a}.survival-row.low .survival-icon svg{fill:#e0574a;animation:1s ease-in-out infinite pulse}.survival-temp{color:var(--wl-muted);padding-left:24px;font-size:12px}.survival-temp.cold{color:#8fc3e8}.survival-temp.warm{color:#f0b46a}@keyframes pulse{50%{opacity:.35}}.stamina{opacity:0;background:#00000073;border-radius:2px;width:220px;height:4px;transition:opacity .4s;position:absolute;bottom:88px;left:50%;overflow:hidden;transform:translate(-50%)}.stamina.show{opacity:1}.stamina-fill{background:#e8e2b0;height:100%}.stamina.exhausted .stamina-fill{background:#c96a5a}.inventory-layout{align-items:stretch;gap:14px;display:flex}.side-panel{flex-direction:column;width:420px;display:flex}.craft-list{flex-direction:column;gap:8px;max-height:440px;display:flex;overflow-y:auto}.craft-recipe{border:1px solid var(--wl-border);background:#ffffff08;border-radius:4px;align-items:center;gap:10px;padding:8px;display:flex}.craft-recipe.blocked{opacity:.75}.craft-icon{flex:none;width:42px;height:42px}.craft-icon svg{width:100%;height:100%}.craft-info{flex:1;min-width:0}.craft-name{font-size:14px;font-weight:600}.craft-ingredients{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.craft-ing{background:#00000059;border-radius:3px;padding:1px 6px;font-size:11px}.craft-ing.ok{color:#9fd08a}.craft-ing.missing{color:#e08a7a}.craft-blocker{color:var(--wl-muted);margin-top:3px;font-size:11px}.btn:disabled{opacity:.4;cursor:not-allowed}.craft-progress{align-items:center;gap:8px;margin-bottom:10px;font-size:12px;display:flex}.craft-progress-track{background:#00000073;border-radius:3px;flex:1;height:6px;overflow:hidden}.craft-progress-fill{background:var(--wl-accent);height:100%}#screen-dead .title{color:#e0a090}.menu-panel{flex-direction:column;align-items:center;gap:10px;display:flex}.card{border:1px solid var(--wl-border);background:#0e1410eb;border-radius:6px;align-items:stretch;min-width:380px;max-width:560px;padding:20px 24px}.card-title{letter-spacing:.2em;text-transform:uppercase;margin:0 0 6px;font-size:18px;font-weight:300}.field{color:var(--wl-muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.field input[type=text]{font:inherit;color:var(--wl-text);border:1px solid var(--wl-border);background:#00000059;border-radius:3px;padding:8px 10px;font-size:15px}.field input[type=range]{accent-color:var(--wl-accent)}.check{align-items:center;gap:8px;font-size:14px;display:flex}.row{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.world-list{flex-direction:column;gap:6px;max-height:320px;display:flex;overflow-y:auto}.world-row{border:1px solid var(--wl-border);background:#ffffff08;border-radius:4px;align-items:center;gap:8px;padding:8px 10px;display:flex}.world-info{flex:1;min-width:0}.world-name{font-weight:600}.world-meta{color:var(--wl-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.hud-status{letter-spacing:.12em;text-transform:uppercase;color:#b8d8a8;text-shadow:0 1px 2px #000;font-size:12px;position:absolute;bottom:102px;left:50%;transform:translate(-50%)}
