:root{--gold: #e8c870;--gold-dim: #b89a50;--panel: rgba(16, 22, 28, .82);--panel-border: rgba(232, 200, 112, .35);--text: #e8e4d8;--text-dim: #9aa39f;--hp: linear-gradient(180deg, #ff7a6b, #d6402f);--stam: linear-gradient(180deg, #ffd86b, #e0a32e)}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#0a1620;font-family:Microsoft YaHei,PingFang SC,Segoe UI,system-ui,sans-serif;color:var(--text);user-select:none}#app,#app canvas{position:absolute;inset:0}.hidden{display:none!important}#night-overlay{position:absolute;inset:0;pointer-events:none;background:#0b1733;opacity:0;z-index:5;transition:opacity 1.5s linear}#cave-overlay{position:absolute;inset:0;pointer-events:none;z-index:5;background:radial-gradient(circle at 50% 50%,transparent 9%,rgba(5,3,10,.55) 24%,rgba(5,3,10,.95) 46%)}#weather-overlay{position:absolute;inset:0;pointer-events:none;background:#324a5e;opacity:0;z-index:5}#vignette{position:absolute;inset:0;pointer-events:none;z-index:6;box-shadow:inset 0 0 140px 50px #c81e14d9;opacity:0;transition:opacity .5s ease-out}#vignette.flash{opacity:1;transition:opacity .05s}#hud{position:absolute;inset:0;pointer-events:none;z-index:10}#status-panel{position:absolute;top:18px;left:18px;display:flex;flex-direction:column;gap:7px}.bar-row{display:flex;align-items:center;gap:8px}.bar-icon{font-size:15px;width:20px;text-align:center;filter:drop-shadow(0 1px 2px rgba(0,0,0,.8))}.bar{position:relative;height:16px;border-radius:8px;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.18);box-shadow:0 2px 6px #0006;overflow:hidden}.hp-bar{width:240px}.stam-bar{width:180px;height:11px}.bar-fill{position:absolute;inset:1px;width:100%;border-radius:7px;transition:width .15s ease-out}#hp-fill{background:var(--hp)}#stam-fill{background:var(--stam)}.bar-text{position:absolute;inset:0;font-size:11px;font-weight:700;line-height:16px;text-align:center;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.9)}#poison-icon{font-size:14px;filter:drop-shadow(0 0 4px #8fd84a);animation:poison-pulse .8s ease-in-out infinite}@keyframes poison-pulse{50%{transform:scale(1.25);opacity:.7}}#resources{display:flex;gap:10px;margin-top:6px;flex-wrap:wrap}.res{display:inline-flex;align-items:center;gap:5px;background:var(--panel);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:3px 10px 3px 7px;font-size:13px}.res i{font-style:normal;font-size:14px}.res b{color:var(--gold);min-width:14px;text-align:center}.res.bump{animation:bump .25s ease}@keyframes bump{50%{transform:scale(1.22)}}#minimap-box{position:absolute;top:18px;right:18px;background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;padding:6px;box-shadow:0 4px 14px #00000080}#minimap{display:block;width:148px;height:148px;border-radius:6px;image-rendering:pixelated}#clock{position:absolute;left:-34px;top:4px;font-size:20px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.7))}#boss-bar-box{position:absolute;top:26px;left:50%;transform:translate(-50%);width:min(560px,60vw);text-align:center}#boss-name{font-size:15px;letter-spacing:4px;color:#ffb4a6;text-shadow:0 2px 6px rgba(0,0,0,.9);margin-bottom:5px}.boss-bar{height:13px}#boss-fill{background:linear-gradient(180deg,#c95dff,#7a1fa8)}#hotbar{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;gap:10px}.slot{position:relative;width:64px;height:64px;background:var(--panel);border:2px solid rgba(255,255,255,.14);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;transition:transform .12s,border-color .12s,box-shadow .12s}.slot.active{border-color:var(--gold);box-shadow:0 0 14px #e8c87073;transform:translateY(-6px) scale(1.06)}.slot-key{position:absolute;top:3px;left:6px;font-size:10px;color:var(--text-dim)}.slot-icon{font-size:24px;line-height:1}.slot-name{font-size:10px;color:var(--text-dim)}.slot.active .slot-name{color:var(--gold)}#prompt{position:absolute;bottom:110px;left:50%;transform:translate(-50%);background:var(--panel);border:1px solid var(--panel-border);border-radius:18px;padding:7px 18px;font-size:14px;animation:float-y 1.6s ease-in-out infinite}#prompt kbd{color:var(--gold)}@keyframes float-y{50%{transform:translate(-50%) translateY(-4px)}}#toast{position:absolute;top:96px;left:50%;transform:translate(-50%);background:var(--panel);border:1px solid var(--panel-border);border-radius:18px;padding:8px 22px;font-size:14px;color:var(--gold);animation:toast-in .25s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(-10px)}}kbd{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-bottom-width:2px;border-radius:4px;padding:1px 6px;font-size:.85em;font-family:inherit}#title-screen{position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;overflow:hidden}.sea-bg{position:absolute;inset:0;background:radial-gradient(ellipse 70% 42% at 50% 104%,#c9b178 0%,#8a9a5b 26%,transparent 60%),radial-gradient(ellipse 120% 70% at 50% 115%,rgba(60,130,145,.75) 0%,transparent 62%),linear-gradient(180deg,#06121f 0%,#0a2436 38%,#0f4256 68%,#15596b 100%);animation:sea-breathe 9s ease-in-out infinite}.sea-bg:after{content:"";position:absolute;inset:0;background:radial-gradient(2px 2px at 18% 22%,rgba(255,255,255,.9),transparent 60%),radial-gradient(1.6px 1.6px at 64% 12%,rgba(255,255,255,.8),transparent 60%),radial-gradient(1.4px 1.4px at 82% 30%,rgba(255,255,255,.7),transparent 60%),radial-gradient(1.8px 1.8px at 38% 8%,rgba(255,255,255,.75),transparent 60%),radial-gradient(1.4px 1.4px at 50% 26%,rgba(255,255,255,.6),transparent 60%),radial-gradient(1.5px 1.5px at 8% 38%,rgba(255,255,255,.55),transparent 60%);animation:twinkle 4s ease-in-out infinite alternate}@keyframes sea-breathe{50%{filter:brightness(1.12)}}@keyframes twinkle{to{opacity:.35}}.title-content{position:relative;text-align:center;padding:30px;animation:title-in .9s ease-out}@keyframes title-in{0%{opacity:0;transform:translateY(24px)}}.game-title{font-size:clamp(54px,9vw,96px);font-weight:900;letter-spacing:.22em;margin-left:.22em;background:linear-gradient(180deg,#fdf4d4 15%,var(--gold) 55%,#a8762e 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 18px rgba(0,0,0,.65))}.game-subtitle{font-size:clamp(13px,1.7vw,18px);letter-spacing:.85em;margin:10px 0 22px .85em;color:#e8e4d8bf}.tagline{font-size:14px;color:var(--text-dim);margin-bottom:34px;letter-spacing:.08em}.menu-buttons{display:flex;flex-direction:column;gap:12px;align-items:center}.btn{pointer-events:auto;min-width:240px;padding:12px 30px;font-size:16px;font-family:inherit;letter-spacing:.12em;color:var(--text);background:rgba(20,30,38,.85);border:1px solid rgba(232,200,112,.4);border-radius:10px;cursor:pointer;transition:all .15s}.btn:hover:not(:disabled){background:rgba(45,58,66,.92);border-color:var(--gold);box-shadow:0 0 18px #e8c87059;transform:translateY(-2px)}.btn:disabled{opacity:.38;cursor:default}.btn-primary{background:linear-gradient(180deg,rgba(110,84,30,.9),rgba(74,54,16,.92));border-color:var(--gold);color:#fdf4d4}.btn-ghost{border-color:#ffffff2e}.btn small{display:block;font-size:11px;color:var(--text-dim);letter-spacing:.05em}.controls-help{margin-top:36px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;font-size:12.5px;color:var(--text-dim);max-width:640px}.overlay{position:absolute;inset:0;z-index:25;display:flex;align-items:center;justify-content:center;background:rgba(4,8,12,.66);backdrop-filter:blur(3px);animation:overlay-in .3s ease-out}@keyframes overlay-in{0%{opacity:0}}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:16px;padding:38px 46px;text-align:center;box-shadow:0 12px 50px #000000b3;display:flex;flex-direction:column;gap:14px;min-width:340px;animation:panel-in .3s ease-out}@keyframes panel-in{0%{transform:scale(.92);opacity:0}}.panel h2{font-size:26px;letter-spacing:.15em}.death-title{color:#ff8a7a}.win-title{color:var(--gold)}.dim{color:var(--text-dim);font-size:14px;line-height:1.8}.pause-help{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--text-dim);margin-bottom:6px}.campfire-panel .btn{text-align:left}#currencies{display:flex;gap:10px;margin-top:5px}.cur-silver i{color:#c8ccd2;font-style:normal}.cur-gold i{color:#ffd24a;font-style:normal}.cur-diamond i{color:#6ee0ff;font-style:normal}.shop-panel{min-width:min(620px,92vw);max-height:86vh;padding:26px 30px;gap:10px}.shop-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.shop-head h2{font-size:22px}#shop-coins{display:flex;gap:14px;font-size:15px}.shop-greeting{font-size:12.5px;margin-top:-4px}.coin{color:var(--coin-color, #ffd24a);font-weight:700;white-space:nowrap}.coin+.coin{margin-left:8px}.coin.lack{opacity:.5;text-decoration:line-through}#shop-tabs{display:flex;gap:6px}.shop-tab{flex:1;padding:8px 4px;font-family:inherit;font-size:13.5px;color:var(--text-dim);background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.12);border-radius:8px;cursor:pointer;transition:all .12s}.shop-tab:hover{color:var(--text);border-color:#e8c87080}.shop-tab.active{color:var(--gold);background:rgba(110,84,30,.35);border-color:var(--gold)}#shop-items{display:flex;flex-direction:column;gap:7px;overflow-y:auto;max-height:46vh;padding-right:4px}#shop-items::-webkit-scrollbar{width:6px}#shop-items::-webkit-scrollbar-thumb{background:rgba(232,200,112,.35);border-radius:3px}.shop-item{display:flex;align-items:center;gap:12px;background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.09);border-radius:10px;padding:9px 12px;text-align:left}.shop-icon{font-size:26px;width:34px;text-align:center}.skin-swatch{width:28px;height:28px;border-radius:7px;border:1px solid rgba(255,255,255,.3);flex-shrink:0;margin:0 3px}.shop-info{flex:1;display:flex;flex-direction:column;gap:2px}.shop-info b{font-size:14.5px}.shop-info b em{font-style:normal;color:var(--gold);font-size:12px}.shop-info small{color:var(--text-dim);font-size:12px}.shop-info .stats{color:#8aa8b8}.shop-btn{min-width:120px;padding:8px 14px;font-size:13px;text-align:center}.cf-upgrade b{color:var(--gold)}.cf-upgrade .cost{float:right;color:var(--text-dim);font-size:13px}.cf-upgrade.cant .cost{color:#e06b5d}.cf-upgrade.cant{opacity:.6}
