:root{--px: 2;--pxu: 2px;--u: var(--pxu);--text: #eef5ff;--dim: #9fb3cb;--ice: #a9d6ff;--warm: #ffb35c;--gold: #ffd76a;--danger: #ff6a6a;--font: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", "Hiragino Sans GB", system-ui, sans-serif;--shadow: var(--u) var(--u) 0 rgba(0, 0, 0, .72)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#05080d;color:var(--text);font-family:var(--font);user-select:none;-webkit-font-smoothing:antialiased}canvas,img{image-rendering:pixelated}canvas{display:block}#app{position:fixed;inset:0}#app>canvas{position:absolute;inset:0;width:100%;height:100%}.hidden{display:none!important}.ptxt{display:inline-block;vertical-align:middle;pointer-events:none}.f-panel{border:var(--w-panel) solid transparent;border-image:var(--f-panel) var(--s-panel) fill / var(--w-panel) stretch}.f-hud,.plate-hud{border:var(--w-hud) solid transparent;border-image:var(--f-hud) var(--s-hud) fill / var(--w-hud) stretch}.f-tip{border:var(--w-tip) solid transparent;border-image:var(--f-tip) var(--s-tip) fill / var(--w-tip) stretch}#vignette,#frost,#whiteout,#water,#hurt,#lowhp,#fade{position:absolute;inset:0;pointer-events:none;z-index:2}#vignette{background:radial-gradient(ellipse at 50% 50%,transparent 55%,rgba(0,0,0,.42) 100%)}#frost{background-size:100% 100%;opacity:0;transition:opacity .6s}#whiteout{background:radial-gradient(ellipse at center,#ebf2fa8c,#e1ebf8f2);opacity:0;transition:opacity 1.5s}#water{background:radial-gradient(ellipse at center,#143c6e59,#061428bf);opacity:0;transition:opacity .2s}#hurt{background:radial-gradient(ellipse at center,transparent 35%,rgba(190,10,20,.6));opacity:0}#hurt.on{animation:hurt .5s ease-out}@keyframes hurt{0%{opacity:1}to{opacity:0}}#lowhp{background:radial-gradient(ellipse at center,transparent 50%,rgba(150,0,10,.55));opacity:0}#lowhp.on{animation:lowhp 1.1s ease-in-out infinite}@keyframes lowhp{0%,to{opacity:.25}50%{opacity:.85}}#fade{background:#000;opacity:0;z-index:25;transition:opacity 1.2s}#fade.on{opacity:1}#hud{position:absolute;inset:0;pointer-events:none;z-index:3;text-shadow:var(--shadow)}#hud.hidden-ui>*:not(#crosshair){opacity:0}#crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(var(--u) * 15);height:calc(var(--u) * 15)}#crosshair .ch{position:absolute;left:50%;top:50%;width:calc(var(--u) * 9);height:calc(var(--u) * 9);transform:translate(-50%,-50%);background:var(--f-cross) center / 100% 100%;mix-blend-mode:difference}#crosshair .hm{position:absolute;inset:0;background:var(--f-hit) center / 100% 100%;opacity:0}#crosshair .hm.on{animation:hitmark .28s ease-out}#crosshair .hm.kill{filter:sepia(1) saturate(8) hue-rotate(-40deg);animation:hitmark .5s ease-out}@keyframes hitmark{0%{opacity:1;transform:scale(1.35)}to{opacity:0;transform:scale(1)}}#crosshair.charge .ch{transform:translate(-50%,-50%) scale(var(--charge, 1))}#crosshair .cd{position:absolute;left:50%;top:calc(100% + var(--u) * 1);width:calc(var(--u) * 16);height:calc(var(--u) * 3);transform:translate(-50%);background:#080c1299;box-shadow:0 0 0 var(--u) #00000073;opacity:0}#crosshair .cd.on{opacity:1}#crosshair .cd b{display:block;height:100%;width:0;background:#e6edf6}#crosshair .cd.ready{width:calc(var(--u) * 9);height:calc(var(--u) * 9);background:var(--ic-sword) center / 100% 100% no-repeat;box-shadow:none}#crosshair .cd.ready b{display:none}#ammo{position:absolute;right:calc(var(--u) * 6);bottom:calc(var(--u) * 46);text-align:right;opacity:0;transition:opacity .2s}#ammo.on{opacity:1}#ammo .am-s{font-size:calc(var(--u) * 5);font-weight:700;color:var(--dim);margin-top:var(--u);white-space:nowrap}#ammo .am-s b{color:#ffd27a}#prompt{position:absolute;left:50%;top:calc(50% + var(--u) * 14);transform:translate(-50%);font-size:calc(var(--u) * 6);font-weight:700;white-space:nowrap;display:flex;gap:calc(var(--u) * 3);align-items:center;opacity:0;transition:opacity .15s}#prompt.on{opacity:1}#prompt kbd,.keys kbd,#build-bar kbd{display:inline-block;font:inherit;font-size:.85em;padding:0 calc(var(--u) * 3);line-height:1.5;color:#0b0f16;text-shadow:none;background:#dfe9f5;box-shadow:inset calc(var(--u) * -1) calc(var(--u) * -1) 0 #8b9db4,0 0 0 var(--u) #05070b;margin:0 var(--u)}#mine-warn{position:absolute;left:50%;top:calc(50% + var(--u) * 24);transform:translate(-50%);font-size:calc(var(--u) * 5.5);color:#ff9a8a;font-weight:700;white-space:nowrap;opacity:0;transition:opacity .2s}#mine-warn.on{opacity:1}#topbar{position:absolute;left:50%;top:calc(var(--u) * 4);transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * 3)}#compass-cv{width:calc(var(--u) * 150);height:calc(var(--u) * 16)}#beacon-hud{display:flex;flex-direction:column;align-items:center;gap:var(--u);animation:pulseglow 1.6s ease-in-out infinite}.bh-title{font-size:calc(var(--u) * 6);font-weight:900;color:#ff8a7a;letter-spacing:.2em}.bh-bar{width:calc(var(--u) * 120);height:calc(var(--u) * 7);border:var(--w-bar) solid transparent;border-image:var(--f-bar) var(--s-bar) fill / var(--w-bar) stretch}.bh-bar i{display:block;height:100%;width:0;background:repeating-linear-gradient(90deg,#ff5a4a 0 calc(var(--u) * 3),#c8322a calc(var(--u) * 3) calc(var(--u) * 4))}.bh-time img{display:block}@keyframes pulseglow{50%{filter:brightness(1.3)}}#quest{position:absolute;left:calc(var(--u) * 4);top:calc(var(--u) * 4);width:calc(var(--u) * 118);padding:calc(var(--u) * 2) calc(var(--u) * 3);transition:transform .4s cubic-bezier(.2,1.4,.4,1),opacity .3s}#quest.off{transform:translate(-110%);opacity:0}#quest.done .q-title{color:var(--gold)}#quest.done{animation:qdone .9s ease-out}@keyframes qdone{0%{filter:brightness(2.2)}to{filter:none}}.q-head{display:flex;justify-content:space-between;align-items:center;font-size:calc(var(--u) * 4.5);color:var(--ice);font-weight:700;letter-spacing:.1em}.q-title{font-size:calc(var(--u) * 6.5);font-weight:900;margin-top:var(--u);color:#fff}.q-desc{font-size:calc(var(--u) * 4.5);color:var(--dim);margin-top:calc(var(--u) * .5);line-height:1.45}.q-prog{display:flex;align-items:center;gap:calc(var(--u) * 2);margin-top:calc(var(--u) * 2)}.q-bar{flex:1;height:calc(var(--u) * 5);border:var(--w-bar) solid transparent;border-image:var(--f-bar) var(--s-bar) fill / var(--w-bar) stretch}.q-bar i{display:block;height:100%;width:0;background:linear-gradient(180deg,#bfe6ff 0 50%,#6fb0ea 50%);transition:width .4s}.q-num{display:flex}#clock{position:absolute;right:calc(var(--u) * 4);top:calc(var(--u) * 4);display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:calc(var(--u) * 3);padding:calc(var(--u) * 2) calc(var(--u) * 3);align-items:center}#dial-cv{width:calc(var(--u) * 30);height:calc(var(--u) * 17);grid-row:1}.c-info{grid-row:1;display:flex;flex-direction:column;gap:var(--u);align-items:flex-end}.c-day{font-size:calc(var(--u) * 5.5);font-weight:900}.c-weather{grid-column:1 / 3;display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u) * 3);margin-top:calc(var(--u) * 2);padding-top:calc(var(--u) * 2);border-top:var(--u) solid rgba(160,190,230,.18)}.c-wname{font-size:calc(var(--u) * 5.5);font-weight:900;white-space:nowrap}.c-wname.lv4{color:#b9c8ff}.c-wname.lv5{color:#ff8a8a;animation:blink .9s steps(2) infinite}@keyframes blink{50%{opacity:.55}}.c-flakes{display:flex;gap:0}.c-flakes img{width:calc(var(--u) * 7);height:calc(var(--u) * 7)}.c-wind{display:flex;align-items:center;gap:var(--u)}#wind-cv{width:calc(var(--u) * 9);height:calc(var(--u) * 9)}#banner{position:absolute;left:50%;top:calc(var(--u) * 26);transform:translate(-50%,-260%);display:flex;align-items:center;gap:calc(var(--u) * 4);padding:calc(var(--u) * 3) calc(var(--u) * 8);border:var(--w-banner) solid transparent;border-image:var(--f-banner) var(--s-banner) fill / var(--w-banner) stretch;transition:transform .45s cubic-bezier(.2,1.3,.4,1);white-space:nowrap}#banner.on{transform:translate(-50%)}#banner.warn{border-image:var(--f-bannerWarn) var(--s-bannerWarn) fill / var(--w-bannerWarn) stretch}#banner .b-ico{width:calc(var(--u) * 16);height:calc(var(--u) * 16)}#banner .b-k{font-size:calc(var(--u) * 5);color:var(--gold);font-weight:900;letter-spacing:.2em}#banner.warn .b-k{color:#ff9a9a}#banner .b-t{font-size:calc(var(--u) * 8);font-weight:900;color:#fff}#banner .b-r{display:flex;gap:calc(var(--u) * 2);align-items:center;font-size:calc(var(--u) * 5);color:#ffe7b0;margin-top:var(--u)}#banner .b-r img{width:calc(var(--u) * 10);height:calc(var(--u) * 10)}#title-card{position:absolute;inset:0;opacity:0;transition:opacity .8s}#title-card .lb{position:absolute;left:0;right:0;height:9vh;background:#000;transition:transform .8s cubic-bezier(.3,.8,.3,1)}#title-card .lb.top{top:0;transform:translateY(-100%)}#title-card .lb.bot{bottom:0;transform:translateY(100%)}#title-card.show{opacity:1}#title-card.show .lb{transform:none}#title-card .tc-in{position:absolute;left:0;right:0;top:24%;text-align:center}.tc-main{font-size:calc(var(--u) * 22);font-weight:900;letter-spacing:.35em;padding-left:.35em;color:#fff;text-shadow:calc(var(--u) * 2) calc(var(--u) * 2) 0 #0a1424,0 0 calc(var(--u) * 12) rgba(140,200,255,.55)}#title-card.show .tc-main{animation:tcin 1.4s cubic-bezier(.2,.9,.3,1)}@keyframes tcin{0%{letter-spacing:.9em;opacity:0;filter:blur(6px)}to{letter-spacing:.35em;opacity:1;filter:none}}.tc-sub{font-size:calc(var(--u) * 7);letter-spacing:.25em;color:var(--ice);margin-top:calc(var(--u) * 3);font-weight:700}.tc-line{width:calc(var(--u) * 90);height:var(--u);margin:calc(var(--u) * 4) auto 0;background:linear-gradient(90deg,transparent,rgba(190,225,255,.8),transparent)}#feed{position:absolute;right:calc(var(--u) * 4);bottom:calc(var(--u) * 60);display:flex;flex-direction:column-reverse;align-items:flex-end;gap:var(--u)}.fd{display:flex;align-items:center;gap:calc(var(--u) * 2);padding:var(--u) calc(var(--u) * 4) var(--u) calc(var(--u) * 2);background:linear-gradient(90deg,transparent,rgba(6,10,16,.75) 30%);font-size:calc(var(--u) * 5.5);font-weight:700;animation:fdin .25s cubic-bezier(.2,1.4,.4,1);transition:opacity .6s,transform .6s}.fd img.ic{width:calc(var(--u) * 12);height:calc(var(--u) * 12)}.fd.bump{animation:fdbump .22s ease-out}.fd.out{opacity:0;transform:translate(30%)}@keyframes fdin{0%{transform:translate(60%);opacity:0}}@keyframes fdbump{50%{transform:scale(1.12)}}#msgs{position:absolute;left:50%;bottom:calc(var(--u) * 78);transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * 1.5)}.msg{font-size:calc(var(--u) * 6);font-weight:700;padding:var(--u) calc(var(--u) * 6);background:radial-gradient(ellipse at center,rgba(0,0,0,.55),transparent 75%);transition:opacity .7s,transform .7s;animation:msgin .2s ease-out;white-space:nowrap}.msg.out{opacity:0;transform:translateY(calc(var(--u) * -6))}.msg.warn{color:#ffb0a8}.msg.good{color:#c9ffc4}.msg.info{color:var(--ice)}@keyframes msgin{0%{transform:scale(.8);opacity:0}}#build-bar{display:none;gap:calc(var(--u) * 3);align-items:center;font-size:calc(var(--u) * 5);font-weight:700;padding:var(--u) calc(var(--u) * 4);margin-bottom:calc(var(--u) * 2);background:#04070cb8;box-shadow:0 0 0 var(--u) #05070b}#build-bar.on{display:flex}#build-bar span{color:var(--dim);white-space:nowrap}#build-bar span.sel{color:#ffe66a}#build-bar .bt{color:#9fe3a8}#build-bar .mat{color:var(--ice);margin-left:calc(var(--u) * 3)}#bottom{position:absolute;left:50%;bottom:calc(var(--u) * 3);transform:translate(-50%);display:flex;flex-direction:column;align-items:center}#item-label{font-size:calc(var(--u) * 6.5);font-weight:900;margin-bottom:calc(var(--u) * 2);opacity:0;transition:opacity .3s;min-height:calc(var(--u) * 9)}#use-bar{width:calc(var(--u) * 60);height:calc(var(--u) * 5);margin-bottom:calc(var(--u) * 2);opacity:0;border:var(--w-bar) solid transparent;border-image:var(--f-bar) var(--s-bar) fill / var(--w-bar) stretch}#use-bar i{display:block;height:100%;width:0;background:linear-gradient(180deg,#ffe28a 0 50%,#e0a640 50%)}#vitals{display:flex;justify-content:space-between;width:calc(var(--u) * 198);margin-bottom:var(--u)}#vitals{align-items:flex-end}#stamina{width:calc(var(--u) * 198);height:calc(var(--u) * 3);margin-bottom:calc(var(--u) * 2);background:#060a10a6;box-shadow:0 0 0 var(--u) #05070b;opacity:0;transition:opacity .5s}#stamina.on{opacity:1;transition:opacity .1s}#stamina i{display:block;height:100%;width:100%;background:linear-gradient(180deg,#eef7a8 0 50%,#a9c84e 50%)}#stamina.ex i{background:linear-gradient(180deg,#ffa898 0 50%,#c84a3a 50%);animation:blink .5s steps(2) infinite}.vcol{display:flex;flex-direction:column;align-items:flex-end}#hearts,#food,#thirst{display:flex}#hearts img,#food img,#thirst img{width:calc(var(--u) * 9);height:calc(var(--u) * 9);margin-right:calc(var(--u) * -1);position:relative}#food,#thirst{flex-direction:row-reverse}#food img,#thirst img{margin-right:0;margin-left:calc(var(--u) * -1)}#thirst.low img{animation:hjit .6s steps(2) infinite}#hearts.low img{animation:hjit .35s steps(2) infinite}#hearts.low img:nth-child(odd){animation-delay:.12s}@keyframes hjit{50%{transform:translateY(calc(var(--u) * -1))}}#hearts.hit{animation:hshake .3s}@keyframes hshake{25%{transform:translate(calc(var(--u) * -2))}75%{transform:translate(calc(var(--u) * 2))}}#hearts.regen img{animation:regen .5s ease-out}@keyframes regen{40%{transform:translateY(calc(var(--u) * -2));filter:brightness(1.6)}}#food.low img{animation:hjit .6s steps(2) infinite}#hb-row{position:relative;display:flex;align-items:flex-end}#hb-row>#thermo{position:absolute;right:calc(100% + var(--u) * 4);bottom:0}#hb-row>#buffs{position:absolute;left:calc(100% + var(--u) * 4);bottom:0}#hotbar{position:relative;display:flex;gap:var(--u);padding:calc(var(--u) * 2);border:var(--w-hud) solid transparent;border-image:var(--f-hud) var(--s-hud) fill / var(--w-hud) stretch}#hb-sel{position:absolute;z-index:2;width:calc(var(--u) * 24);height:calc(var(--u) * 24);top:0;left:0;background:var(--f-sel) center / 100% 100%;transition:transform .08s ease-out;pointer-events:none}#hb-sel.pop{animation:selpop .18s ease-out}@keyframes selpop{50%{scale:1.08}}.slot{position:relative;width:calc(var(--u) * 20);height:calc(var(--u) * 20);display:flex;align-items:center;justify-content:center;border:var(--w-slot) solid transparent;border-image:var(--f-slot) var(--s-slot) fill / var(--w-slot) stretch}.slot>img.ic{width:calc(var(--u) * 16);height:calc(var(--u) * 16);pointer-events:none}.slot.pop>img.ic{animation:slotpop .25s cubic-bezier(.2,1.6,.4,1)}@keyframes slotpop{0%{transform:scale(1.45)}to{transform:scale(1)}}.slot .cnt{position:absolute;right:calc(var(--u) * -1);bottom:calc(var(--u) * -1);pointer-events:none}.slot .num{position:absolute;left:var(--u);top:var(--u);opacity:.45;pointer-events:none}.slot .dur{position:absolute;left:calc(var(--u) * 1.5);right:calc(var(--u) * 1.5);bottom:calc(var(--u) * 1);height:calc(var(--u) * 2);background:#000;pointer-events:none}.slot .dur i{display:block;height:50%}.slot .ph{width:calc(var(--u) * 16);height:calc(var(--u) * 16);opacity:.22}.slot.hb{border-image:var(--f-slot) var(--s-slot) fill / var(--w-slot) stretch}#thermo{display:flex;align-items:center;gap:calc(var(--u) * 2);padding:calc(var(--u) * 1.5) calc(var(--u) * 3) calc(var(--u) * 1.5) calc(var(--u) * 2)}#thermo-cv{width:calc(var(--u) * 9);height:calc(var(--u) * 26)}.th-txt{display:flex;flex-direction:column;gap:calc(var(--u) * 1);min-width:calc(var(--u) * 34)}.th-stage{font-size:calc(var(--u) * 5);font-weight:900}.th-feel{font-size:calc(var(--u) * 4.2);color:var(--dim);white-space:nowrap}#thermo.cold{animation:shiver .18s steps(2) infinite}@keyframes shiver{50%{transform:translate(calc(var(--u) * .5))}}#buffs{display:flex;flex-direction:column-reverse;gap:var(--u);min-width:calc(var(--u) * 40)}.buff{display:flex;align-items:center;gap:calc(var(--u) * 1.5);padding:calc(var(--u) * .5) calc(var(--u) * 2) calc(var(--u) * .5) var(--u);font-size:calc(var(--u) * 4.5);font-weight:700;background:linear-gradient(90deg,rgba(6,10,16,.7),transparent);animation:fdin .2s ease-out;white-space:nowrap}.buff img.bi{width:calc(var(--u) * 9);height:calc(var(--u) * 9)}.buff.warm{color:#ffd2a0}.buff.cold{color:#a8c8ff}.buff.good{color:#c9ffc4}.buff.bad{color:#ff9a9a}.pbtn.toggle{margin:calc(var(--u) * 3) 0 var(--u)}.pbtn.toggle.on{color:#ff8a7a}#debug{position:absolute;left:calc(var(--u) * 4);top:calc(var(--u) * 70);margin:0;font:12px/1.45 Consolas,monospace;color:#fff;background:#0009;padding:8px 10px;display:none;white-space:pre;text-shadow:none}#screen{position:absolute;inset:0;z-index:10;display:none;align-items:center;justify-content:center;gap:calc(var(--u) * 4);background:radial-gradient(ellipse at center,#04080e73,#020408d1);text-shadow:var(--shadow)}#screen>.scr-row.enter{animation:winin .18s cubic-bezier(.2,1.2,.4,1)}.scr-row{display:flex;align-items:stretch;gap:calc(var(--u) * 4)}@keyframes winin{0%{transform:translateY(calc(var(--u) * 8)) scale(.97);opacity:0}}.win{position:relative;padding:calc(var(--u) * 3) calc(var(--u) * 5) calc(var(--u) * 5);border:var(--w-panel) solid transparent;border-image:var(--f-panel) var(--s-panel) fill / var(--w-panel) stretch}.win-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:calc(var(--u) * 3)}.win-title{font-size:calc(var(--u) * 7);font-weight:900;letter-spacing:.15em;color:#dceeff}.win-key{font-size:calc(var(--u) * 4.5);color:var(--dim)}.sec{font-size:calc(var(--u) * 5);color:var(--dim);font-weight:700;margin:calc(var(--u) * 3) 0 calc(var(--u) * 1.5)}.inv-grid{display:grid;grid-template-columns:repeat(9,calc(var(--u) * 20));gap:var(--u)}.inv-grid.hotrow{margin-top:calc(var(--u) * 3)}.top-row{display:flex;gap:calc(var(--u) * 5);align-items:stretch}.equip{display:grid;grid-template-columns:calc(var(--u) * 20);gap:var(--u)}.stats{width:calc(var(--u) * 70);padding:calc(var(--u) * 2) calc(var(--u) * 3);display:flex;flex-direction:column;gap:calc(var(--u) * 1.2);font-size:calc(var(--u) * 4.8);border:var(--w-well) solid transparent;border-image:var(--f-well) var(--s-well) fill / var(--w-well) stretch}.stats .st{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u) * 2)}.stats .st span{color:var(--dim);display:flex;align-items:center;gap:var(--u)}.stats .st span img{width:calc(var(--u) * 8);height:calc(var(--u) * 8)}.stats .st b{color:#fff}.craft{display:flex;align-items:center;gap:calc(var(--u) * 4);margin-left:auto;padding:calc(var(--u) * 2)}.craft-grid{display:grid;gap:var(--u)}.craft-grid.n2{grid-template-columns:repeat(2,calc(var(--u) * 20))}.craft-grid.n3{grid-template-columns:repeat(3,calc(var(--u) * 20))}.arrow-r{width:calc(var(--u) * 16);height:calc(var(--u) * 11)}.slot.out{width:calc(var(--u) * 26);height:calc(var(--u) * 26);border-image:var(--f-slotOut) var(--s-slotOut) fill / var(--w-slotOut) stretch}.slot.out.ready{animation:outglow 1.2s ease-in-out infinite}@keyframes outglow{50%{filter:brightness(1.35) drop-shadow(0 0 calc(var(--u) * 3) rgba(255,210,120,.6))}}#screen .slot:hover{border-image:var(--f-slotHover) var(--s-slotHover) fill / var(--w-slotHover) stretch}#screen .slot.out:hover{filter:brightness(1.2)}.book{width:calc(var(--u) * 150);align-self:stretch;display:flex;flex-direction:column;padding:calc(var(--u) * 3) calc(var(--u) * 4) calc(var(--u) * 4);border:var(--w-panel) solid transparent;border-image:var(--f-panel) var(--s-panel) fill / var(--w-panel) stretch}.tabs{display:flex;gap:var(--u);margin-bottom:calc(var(--u) * 2)}.tab{flex:1;display:flex;justify-content:center;align-items:center;padding:var(--u) 0;font-size:calc(var(--u) * 4.5);font-weight:700;color:var(--dim);cursor:pointer;pointer-events:auto;border:var(--w-tab) solid transparent;border-image:var(--f-tab) var(--s-tab) fill / var(--w-tab) stretch}.tab.on{color:#fff;border-image:var(--f-tabOn) var(--s-tabOn) fill / var(--w-tabOn) stretch}.tab:hover{color:#fff}.rgrid{display:grid;grid-template-columns:repeat(6,calc(var(--u) * 20));grid-auto-rows:calc(var(--u) * 20);gap:var(--u);align-content:start;flex:1 1 0;min-height:calc(var(--u) * 42);overflow-y:auto;overflow-x:hidden;padding-right:var(--u)}.rgrid::-webkit-scrollbar{width:calc(var(--u) * 3)}.rgrid::-webkit-scrollbar-thumb{background:#5a6c84;box-shadow:inset calc(var(--u) * -1) calc(var(--u) * -1) 0 #2a3646}.rcell{cursor:pointer}.rcell>img.ic{opacity:.32;filter:grayscale(.8)}.rcell.ok>img.ic{opacity:1;filter:none}.rcell.ok:after{content:"";position:absolute;inset:calc(var(--u) * -1);box-shadow:inset 0 0 0 var(--u) #8cdc8c8c;pointer-events:none}.rcell.need3 .t3{position:absolute;left:var(--u);top:var(--u);width:calc(var(--u) * 6);height:calc(var(--u) * 6);opacity:.85}.rdetail{margin-top:calc(var(--u) * 3);min-height:calc(var(--u) * 40);padding:calc(var(--u) * 2) calc(var(--u) * 3);border:var(--w-well) solid transparent;border-image:var(--f-well) var(--s-well) fill / var(--w-well) stretch;font-size:calc(var(--u) * 4.5)}.rd-name{font-size:calc(var(--u) * 6);font-weight:900;display:flex;align-items:center;gap:calc(var(--u) * 2)}.rd-name img{width:calc(var(--u) * 12);height:calc(var(--u) * 12)}.rd-cost{display:flex;flex-wrap:wrap;gap:calc(var(--u) * 2) calc(var(--u) * 3);margin-top:calc(var(--u) * 2)}.rd-cost .c{display:flex;align-items:center;gap:var(--u);color:#cfe0f2}.rd-cost .c img.ic{width:calc(var(--u) * 10);height:calc(var(--u) * 10)}.rd-cost .c.miss{color:#ff9a8a}.rd-hint{margin-top:calc(var(--u) * 2);color:var(--dim)}.rd-hint b{color:var(--gold)}.rd-hint .no{color:#ff9a8a}.furnace{display:flex;align-items:center;gap:calc(var(--u) * 8);padding:calc(var(--u) * 2) calc(var(--u) * 2) calc(var(--u) * 1)}.fcol{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * 2)}.flame{width:calc(var(--u) * 13);height:calc(var(--u) * 13);position:relative}.flame img{position:absolute;inset:0;width:100%;height:100%}.flame .fill{position:absolute;left:0;right:0;bottom:0;overflow:hidden}.flame .fill img{position:absolute;bottom:0;height:calc(var(--u) * 13)}.farrow{width:calc(var(--u) * 22);height:calc(var(--u) * 15);position:relative}.farrow img{position:absolute;left:0;top:0;height:100%}.farrow .fill{position:absolute;left:0;top:0;bottom:0;overflow:hidden}.farrow .fill img{width:calc(var(--u) * 22)}.fhelp{font-size:calc(var(--u) * 4.2);color:var(--dim);line-height:1.7;max-width:calc(var(--u) * 90)}#cursor-item{position:fixed;z-index:30;pointer-events:none;width:calc(var(--u) * 16);height:calc(var(--u) * 16);text-shadow:var(--shadow)}#cursor-item img.ic{width:100%;height:100%}#cursor-item .cnt{position:absolute;right:calc(var(--u) * -3);bottom:calc(var(--u) * -3)}#cursor-item .dur{display:none}#tooltip{position:fixed;z-index:31;pointer-events:none;display:none;padding:calc(var(--u) * 1.5) calc(var(--u) * 3);font-size:calc(var(--u) * 4.8);line-height:1.55;max-width:calc(var(--u) * 120);text-shadow:var(--shadow);border:var(--w-tip) solid transparent;border-image:var(--f-tip) var(--s-tip) fill / var(--w-tip) stretch}#tooltip .tn{font-size:calc(var(--u) * 6);font-weight:900}#tooltip .r0{color:#fff}#tooltip .r1{color:#8fd8ff}#tooltip .r2{color:#ffd76a}#tooltip .r3{color:#ff8ae0}#tooltip .tl{color:#c8d6ea}#tooltip .tl.good{color:#a6f0a0}#tooltip .tl.warm{color:#ffc890}#tooltip .tl.cold{color:#9fc4ff}#tooltip .dim{color:#8a98b0}.overlay{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;text-shadow:var(--shadow)}.overlay.dim{background:radial-gradient(ellipse at center,#04080e8c,#020408e0)}#menu{flex-direction:column}.menu-shade{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,#04081000 30%,#040810b3),linear-gradient(180deg,#04081040,#0408108c);pointer-events:none}.menu-cover{position:absolute;inset:0;background:#05080d;transition:opacity 2.5s;pointer-events:none}.menu-cover.off{opacity:0}.menu-main{position:relative;display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * 10);margin-top:-4vh}.logo-wrap{position:relative;display:flex;flex-direction:column;align-items:center;animation:logobob 5s ease-in-out infinite}@keyframes logobob{50%{transform:translateY(calc(var(--u) * -2))}}#logo-cv{filter:drop-shadow(0 0 calc(var(--u) * 10) rgba(120,190,255,.35))}.logo-sub{margin-top:calc(var(--u) * 2)}#splash{position:absolute;left:88%;top:calc(var(--u) * 30);color:#ffeb5a;font-size:calc(var(--u) * 6);font-weight:900;white-space:nowrap;transform:rotate(-14deg);animation:splash .55s ease-in-out infinite alternate;text-shadow:calc(var(--u) * .8) calc(var(--u) * .8) 0 #3f3a00}@keyframes splash{0%{transform:rotate(-14deg) scale(.94)}to{transform:rotate(-14deg) scale(1.06)}}.menu-col{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * 3)}.save-info{font-size:calc(var(--u) * 4.5);color:var(--dim);min-height:calc(var(--u) * 6)}.menu-foot{position:absolute;bottom:calc(var(--u) * 3);font-size:calc(var(--u) * 4.5);color:#dcebffb3}.menu-foot.l{left:calc(var(--u) * 4)}.menu-foot.r{right:calc(var(--u) * 4)}.pbtn{position:relative;min-width:calc(var(--u) * 70);padding:calc(var(--u) * 3) calc(var(--u) * 8) calc(var(--u) * 4);font:inherit;font-size:calc(var(--u) * 6.5);font-weight:900;letter-spacing:.12em;color:#eef5ff;text-shadow:var(--shadow);cursor:pointer;background:none;outline:none;border:var(--w-btn) solid transparent;border-image:var(--f-btn) var(--s-btn) fill / var(--w-btn) stretch}.pbtn.wide{min-width:calc(var(--u) * 120)}.pbtn:hover{color:#ffef9a;border-image:var(--f-btnHover) var(--s-btnHover) fill / var(--w-btnHover) stretch}.pbtn:active{border-image:var(--f-btnDown) var(--s-btnDown) fill / var(--w-btnDown) stretch;padding-top:calc(var(--u) * 4);padding-bottom:calc(var(--u) * 3)}.pbtn:disabled{color:#7a8494;border-image:var(--f-btnOff) var(--s-btnOff) fill / var(--w-btnOff) stretch;cursor:default}.pbtn.primary{color:#fff}.pbtn.primary:before{content:"▶";position:absolute;left:calc(var(--u) * 5);font-size:.6em;top:50%;transform:translateY(-50%);opacity:0;transition:opacity .1s}.pbtn.primary:hover:before{opacity:1}.ppanel{display:flex;flex-direction:column;align-items:stretch;gap:calc(var(--u) * 3);padding:calc(var(--u) * 5) calc(var(--u) * 8) calc(var(--u) * 7);min-width:calc(var(--u) * 150);border:var(--w-panel) solid transparent;border-image:var(--f-panel) var(--s-panel) fill / var(--w-panel) stretch;animation:winin .2s cubic-bezier(.2,1.2,.4,1)}.ppanel.center{align-items:center}.ptitle{font-size:calc(var(--u) * 9);font-weight:900;text-align:center;letter-spacing:.25em;color:#dceeff;margin-bottom:calc(var(--u) * 2)}.plabel{font-size:calc(var(--u) * 5);color:var(--dim)}.pnote{font-size:calc(var(--u) * 5.5);color:var(--dim);margin-bottom:calc(var(--u) * 2)}.pwarn{font-size:calc(var(--u) * 4.5);color:var(--warm);min-height:calc(var(--u) * 6)}.prow{display:flex;gap:calc(var(--u) * 4);justify-content:center;margin-top:calc(var(--u) * 2)}.pinput{font:inherit;font-size:calc(var(--u) * 6.5);font-weight:700;color:#fff;padding:calc(var(--u) * 3) calc(var(--u) * 4);outline:none;text-shadow:var(--shadow);border:var(--w-input) solid transparent;border-image:var(--f-input) var(--s-input) fill / var(--w-input) stretch;background:none;caret-color:#ffef9a}.pselect{font:inherit;font-size:calc(var(--u) * 5);color:#fff;padding:var(--u) calc(var(--u) * 2);background:#0b1018;border:var(--u) solid #46566c;outline:none}.prange{-webkit-appearance:none;appearance:none;width:calc(var(--u) * 80);height:calc(var(--u) * 6);background:none;border:var(--w-bar) solid transparent;border-image:var(--f-bar) var(--s-bar) fill / var(--w-bar) stretch;cursor:pointer}.prange::-webkit-slider-thumb{-webkit-appearance:none;width:calc(var(--u) * 6);height:calc(var(--u) * 10);background:var(--f-knob) center / 100% 100%;border:none}.prange::-moz-range-thumb{width:calc(var(--u) * 6);height:calc(var(--u) * 10);background:var(--f-knob) center / 100% 100%;border:none;border-radius:0}.opts{display:flex;flex-direction:column;gap:calc(var(--u) * 3);margin:calc(var(--u) * 3) 0}.opt{display:flex;justify-content:space-between;align-items:center;gap:calc(var(--u) * 8);font-size:calc(var(--u) * 5.5);font-weight:700;color:#cfe0f2}.help{max-width:calc(var(--u) * 230)}.keys{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--u) * 2.5) calc(var(--u) * 8);font-size:calc(var(--u) * 5);color:#cfe0f2;font-weight:700}.keys kbd{margin-right:calc(var(--u) * 2)}.help-tips{font-size:calc(var(--u) * 4.8);color:var(--dim);line-height:1.7;padding:calc(var(--u) * 2) calc(var(--u) * 4);border:var(--w-well) solid transparent;border-image:var(--f-well) var(--s-well) fill / var(--w-well) stretch}.help-tips p{margin:calc(var(--u) * 1) 0}.help-tips b{color:var(--gold)}#loading{background:#05080d;flex-direction:column}.load-box{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * 5)}#load-text{font-size:calc(var(--u) * 6.5);font-weight:700;color:#dceeff}.pbar{width:calc(var(--u) * 160);height:calc(var(--u) * 9);border:var(--w-bar) solid transparent;border-image:var(--f-bar) var(--s-bar) fill / var(--w-bar) stretch}.pbar i{display:block;height:100%;width:0;background:repeating-linear-gradient(90deg,#a9d6ff 0 calc(var(--u) * 5),#6fa8e0 calc(var(--u) * 5) calc(var(--u) * 6));transition:width .2s steps(8)}#load-tip{font-size:calc(var(--u) * 5);color:var(--dim);max-width:calc(var(--u) * 220);text-align:center;line-height:1.6;min-height:calc(var(--u) * 16)}#load-tip b{color:var(--gold)}#click-start{background:radial-gradient(ellipse at center,#04080e33,#020408bf)}.end-box{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * 4);animation:endin 1.2s cubic-bezier(.2,.9,.3,1)}@keyframes endin{0%{opacity:0;transform:translateY(calc(var(--u) * -20))}}.end-title{font-size:calc(var(--u) * 26);font-weight:900;letter-spacing:.3em;padding-left:.3em;color:#ff8f8f;text-shadow:calc(var(--u) * 2) calc(var(--u) * 2) 0 #2a0508,0 0 calc(var(--u) * 16) rgba(255,60,60,.4)}.end-sub{font-size:calc(var(--u) * 6.5);color:#f0d8d8;font-weight:700}.end-stats{display:grid;grid-template-columns:auto auto;gap:calc(var(--u) * 2) calc(var(--u) * 12);font-size:calc(var(--u) * 5.5);padding:calc(var(--u) * 4) calc(var(--u) * 8);margin:calc(var(--u) * 2) 0;border:var(--w-well) solid transparent;border-image:var(--f-well) var(--s-well) fill / var(--w-well) stretch}.end-stats span{color:var(--dim)}.end-stats b{text-align:right}#death{background:radial-gradient(ellipse at center,#6e0a1480,#140206e6)}#victory{background:radial-gradient(ellipse at center,#ffc86e2e,#0a0804d1)}.end-box.win .end-title{color:#ffe08a;text-shadow:calc(var(--u) * 2) calc(var(--u) * 2) 0 #2a1d05,0 0 calc(var(--u) * 16) rgba(255,200,90,.55)}.end-box.win .end-sub{color:#fff2d0}body.dead #app>canvas{filter:grayscale(.85) contrast(1.1);transition:filter 1.5s}
