:root{--bone:#f2eee3;--bone-dim:#f2eee3a8;--slate:#12171aa8;--slate-solid:#161d21;--edge:#f2eee329;--shard:#4fe3e0;--shard-deep:#1e8c9c;--ember:#f2a541;--water:#5aa9e6;--moss:#8fbf6a;--blood:#e5484d;--cut:8px;--facet:polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));color:var(--bone);-webkit-font-smoothing:antialiased;font-family:Chakra Petch,ui-rounded,system-ui,sans-serif}*{box-sizing:border-box}html,body{background:#1b1a1a;height:100%;margin:0;overflow:hidden}#game{width:100vw;height:100vh;display:block}kbd{text-align:center;min-width:1.7em;color:var(--slate-solid);background:var(--shard);clip-path:polygon(4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%,0 4px);margin-right:.35em;padding:0 .4em;font:600 .8em/1.6 Chakra Petch,system-ui,sans-serif;display:inline-block}[hidden]{display:none!important}#hud{pointer-events:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0}.top{flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}.compass{background:var(--slate);width:min(420px,70vw);height:26px;clip-path:var(--facet);position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 18% 82%,#0000);mask-image:linear-gradient(90deg,#0000,#000 18% 82%,#0000)}.compass-strip{height:100%;position:absolute;top:0;left:50%}.tick{background:var(--bone-dim);width:1px;height:6px;position:absolute;bottom:0}.tick.major{width:auto;height:100%;color:var(--bone);background:0 0;font-size:13px;font-weight:600;line-height:26px;transform:translate(-50%)}.compass-needle{border:5px solid #0000;border-bottom-color:var(--shard);width:0;height:0;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.clock{background:var(--slate);clip-path:var(--facet);--cut:5px;align-items:center;gap:6px;padding:2px 10px;font-size:13px;font-weight:500;display:flex}.clock svg{width:14px;height:14px;fill:var(--ember);stroke:var(--ember);stroke-width:1.5px}.clock.night svg{fill:#b9c8ff;stroke:none}.clock-hint{color:var(--ember)}.clock.night .clock-hint{color:#b9c8ff}.banner{text-align:center;max-width:min(640px,100vw - 32px);clip-path:var(--facet);background:#781e22bf;padding:6px 14px;font-size:13px;position:absolute;top:78px;left:50%;transform:translate(-50%)}.crosshair{background:var(--bone);opacity:.8;width:6px;height:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg);box-shadow:0 0 0 1px #00000059}.crosshair.hit{animation:.25s ease-out hitmark}.crosshair:after{content:"";inset:calc(-16px + var(--draw,0) * 11px);border:1.5px solid var(--bone);opacity:0;transition:opacity .12s;position:absolute}.crosshair[data-drawing]:after{opacity:.85}.crosshair[data-full]:after{border-color:#ffd166}@keyframes hitmark{0%{background:var(--blood);width:14px;height:14px}}.target-marker{border:2px solid var(--shard);filter:drop-shadow(0 0 4px #4fe3e099);width:14px;height:14px;position:absolute;top:0;left:0}.prompt{white-space:nowrap;background:var(--slate);clip-path:var(--facet);--cut:6px;align-items:center;gap:4px;padding:5px 12px;font-size:14px;display:flex;position:absolute;top:calc(50% + 34px);left:50%;transform:translate(-50%)}.prompt .gap{width:14px}.craft-progress{background:var(--slate);width:220px;height:22px;clip-path:var(--facet);--cut:6px;position:absolute;bottom:108px;left:50%;transform:translate(-50%)}.craft-progress:before{content:"";background:var(--shard-deep);transform-origin:0;transform:scaleX(var(--progress,0));position:absolute;inset:0}.craft-progress:after{content:attr(data-label);text-align:center;font-size:12px;line-height:22px;position:absolute;inset:0}.vitals{gap:5px;width:210px;display:grid;position:absolute;bottom:16px;left:16px}.gauge{background:var(--slate);clip-path:var(--facet);--cut:6px;--tone:var(--moss);grid-template-columns:18px 1fr 40px;align-items:center;gap:8px;padding:4px 8px;display:grid}.gauge svg{width:16px;height:16px;fill:var(--tone)}.gauge-hunger{--tone:var(--ember)}.gauge-thirst{--tone:var(--water)}.gauge-temp{--tone:#f07f5e}.gauge-bar{clip-path:polygon(3px 0,100% 0,calc(100% - 3px) 100%,0 100%);background:#f2eee31f;height:6px}.gauge-fill{background:var(--tone);transform-origin:0;height:100%;transition:transform .25s linear}.gauge-value{text-align:right;font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.gauge-temp[data-trend=down] .gauge-value:after{content:" ▾";color:#9fc4ff}.gauge-temp[data-trend=up] .gauge-value:after{content:" ▴";color:var(--ember)}.gauge.low{animation:1s ease-in-out infinite pulse}.gauge-health.low{--tone:var(--blood)}@keyframes pulse{50%{background:#781e22b3}}.conditions{flex-wrap:wrap;gap:4px;min-height:0;display:flex}.condition{background:var(--slate);color:var(--bone-dim);clip-path:var(--facet);--cut:4px;padding:1px 8px;font-size:12px}.condition.bad{color:var(--bone);background:#962228cc}.hotbar{gap:5px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.slot{background:var(--slate);width:58px;height:58px;clip-path:var(--facet);place-items:center;display:grid;position:relative}.slot .icon{object-fit:contain;pointer-events:none;filter:drop-shadow(0 2px 2px #0006);width:46px;height:46px}.slot .count{text-shadow:0 1px 2px #000;font-size:13px;font-weight:700;position:absolute;bottom:3px;right:6px}.slot .wear{background:#00000073;height:3px;position:absolute;bottom:4px;left:8px;right:8px}.slot .wear span{background:var(--moss);height:100%;display:block}.slot .wear span.low{background:var(--blood)}.slot:has(.wear) .count{bottom:8px}.tooltip p.tooltip-wear{color:var(--bone)}.slot .key{color:var(--bone-dim);font-size:11px;position:absolute;top:2px;left:9px}.slot.hot.selected{box-shadow:inset 0 0 0 2px var(--shard);background:#1e8c9c8c}.slot.hot.selected .key{color:var(--shard)}.toasts{flex-direction:column;align-items:flex-end;gap:4px;display:flex;position:absolute;bottom:120px;right:18px}.toast{background:var(--slate);clip-path:var(--facet);--cut:5px;padding:3px 12px;font-size:14px}.toast.good{color:#c9f2c2}.toast.bad{color:#ffc2c4}.toast.fade{animation:3.2s ease-out forwards toast}@keyframes toast{0%{opacity:0;translate:12px}6%,75%{opacity:1;translate:0}to{opacity:0}}.chat{width:min(380px,100vw - 32px);position:absolute;bottom:196px;left:16px}.chat-log{text-shadow:0 1px 2px #000000e6;flex-direction:column;gap:2px;max-height:180px;font-size:13px;display:flex;overflow:hidden}.chat-log .line{transition:opacity 1s}.chat-log .line b{color:var(--shard);margin-right:6px;font-weight:600}.chat-log .line.system{color:var(--bone-dim);font-style:italic}.chat-log .line.old{opacity:0}.chat-log.active{pointer-events:auto;overflow-y:auto}.chat-log.active .line.old{opacity:1}#chat-input{width:100%;color:var(--bone);background:var(--slate);outline:1px solid var(--shard);pointer-events:auto;border:0;margin-top:6px;padding:6px 10px;font:14px Chakra Petch,system-ui,sans-serif}.damage{opacity:0;background:radial-gradient(#0000 55%,#be141e8c);position:absolute;inset:0}.damage.directional:after{content:"";width:120px;height:22px;translate:-50% -50%;rotate:var(--angle,0deg);clip-path:polygon(0 100%,12% 0,88% 0,100% 100%,50% 60%);background:#e5484dd9;position:absolute;top:50%;left:50%;transform:translateY(-160px)}.labels{position:absolute;inset:0;overflow:hidden}.nameplate{white-space:nowrap;clip-path:var(--facet);--cut:4px;background:#12171a8c;padding:1px 8px;font-size:13px;font-weight:600;position:absolute;top:0;left:0}.nameplate.hit{background:#be1e26cc}.hit-number{color:#c9f2c2;text-shadow:0 1px 3px #000;font-size:15px;font-weight:700;position:absolute;top:0;left:0}.hit-number.player{color:#ffd166;font-size:19px}.hit-number.head{color:#ff6b4a;font-size:23px}.hud-stats{background:var(--slate);white-space:pre;padding:8px 10px;font:12px/1.5 ui-monospace,Menlo,monospace;position:absolute;top:12px;left:12px}.keys{color:var(--bone-dim);justify-items:end;gap:3px;font-size:12px;display:grid;position:absolute;bottom:16px;right:16px}#player,#pause,#map,#death,#trader,#keypad{background:#0a0e108c;place-items:center;display:grid;position:fixed;inset:0}.inv-panel{max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);clip-path:var(--facet);--cut:16px;background:#12171ae0;align-items:flex-start;gap:18px;padding:18px;display:flex;overflow:auto}.inv-panel h2{margin:0 0 10px;font-size:16px;font-weight:600}.inv-panel h3{color:var(--bone-dim);margin:12px 0 8px;font-size:13px;font-weight:500}.inv-hint{color:var(--bone-dim);margin:12px 0 0;font-size:12px}.grid{grid-template-columns:repeat(4,58px);gap:5px;display:grid}.grid.hotbar-row{grid-template-columns:repeat(8,58px)}.grid.box{grid-template-columns:repeat(4,58px)}.grid .slot{cursor:grab;background:#f2eee312}.grid .slot.empty{cursor:default}.grid .slot:not(.empty):hover{box-shadow:inset 0 0 0 2px var(--shard)}.box-section{border-left:1px solid var(--edge);padding-left:18px}.craft-section{border-left:1px solid var(--edge);width:290px;padding-left:18px}.recipes{gap:6px;display:grid}.recipe{width:100%;font:inherit;text-align:left;color:var(--bone);clip-path:var(--facet);--cut:6px;cursor:pointer;background:#f2eee312;border:0;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;padding:6px 10px 6px 6px;display:grid}.recipe:hover:not(:disabled){background:#1e8c9c73}.recipe:focus-visible{outline:2px solid var(--shard)}.recipe:disabled{cursor:default;color:var(--bone-dim)}.recipe.crafting{color:var(--bone);background:#1e8c9c59}.recipe .icon{object-fit:contain;width:44px;height:44px}.recipe strong{font-weight:600}.recipe-cost{flex-wrap:wrap;gap:8px;margin-top:2px;font-size:12px;display:flex}.recipe-cost span{align-items:center;gap:2px;display:inline-flex}.recipe-cost .missing{color:#ff9ea1}.recipe-cost .mini{object-fit:contain;width:18px;height:18px}.recipe-time{color:var(--bone-dim);font-size:12px}.tooltip{z-index:3;background:var(--slate-solid);width:230px;clip-path:var(--facet);pointer-events:none;padding:8px 10px;position:fixed}.tooltip strong{font-weight:600}.tooltip p{color:var(--bone-dim);margin:4px 0 0;font-size:13px}.drag-ghost{z-index:4;pointer-events:none;filter:drop-shadow(0 6px 8px #00000080);width:50px;height:50px;position:fixed;top:0;left:0}.map-frame{clip-path:var(--facet);--cut:14px;text-align:center;background:#12171ae6;padding:12px}.map-frame>canvas{image-rendering:auto;width:min(80vh,100vw - 56px);height:min(80vh,100vw - 56px);display:block}.map-hint{color:var(--bone-dim);margin:8px 0 0;font-size:12px}#death{background:radial-gradient(circle at 50% 45%,#500a108c,#080608e0)}.death-card{text-align:center;width:min(440px,100vw - 32px)}.death-card h1{letter-spacing:.01em;color:var(--bone);margin:0;font-size:clamp(34px,6vw,54px);font-weight:700}.death-detail{color:var(--bone-dim);margin:10px 0 2px}.death-bag{color:var(--bone-dim);margin:0 0 24px;font-size:14px}.respawn-choice{text-align:left;align-items:flex-start;gap:14px;margin:-8px 0 20px;display:flex}.respawn-side{flex:1;min-width:0}.respawn-label{letter-spacing:.06em;text-transform:uppercase;color:var(--bone-dim);margin:0 0 6px;font-size:13px;font-weight:600}.respawn-regions{flex-direction:column;gap:6px;display:flex}.respawn-region{text-align:left;cursor:pointer;width:100%;font:inherit;color:var(--bone);background:var(--slate);border:1px solid var(--edge);clip-path:var(--facet);align-items:center;gap:10px;padding:7px 10px;display:flex}.respawn-region:hover{border-color:#4fe3e080}.respawn-region.selected{border-color:var(--shard);background:#1e8c9c59}.respawn-region-text{flex-direction:column;line-height:1.2;display:flex}.respawn-region-text b{font-size:15px}.respawn-region-text small{color:var(--bone-dim);font-size:12px}.respawn-note{color:var(--bone-dim);margin:6px 0 0;font-size:12px}.respawn-map{border:1px solid var(--edge);image-rendering:auto;flex:none;width:132px;height:132px}@media (max-width:480px){.respawn-map{display:none}}.keypad-card{width:min(260px,100vw - 32px);clip-path:var(--facet);--cut:14px;text-align:center;background:#12171ae6;padding:18px 18px 16px}.keypad-card h2{color:var(--bone);margin:0 0 12px;font-size:16px;font-weight:600}.keypad-field{box-sizing:border-box;letter-spacing:.4em;text-align:center;color:#9ff7f2;background:#04080acc;border:1px solid #4fe3e059;outline:none;width:100%;margin-bottom:12px;padding:8px 10px;font:600 26px/1 ui-monospace,monospace}.keypad-field.shake{animation:.3s keypad-shake}@keyframes keypad-shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.keypad-keys{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.keypad-key{color:var(--bone);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;padding:10px 0;font:600 16px/1 inherit}.keypad-key:hover{background:#ffffff1f}.keypad-key.ok{color:#0d1214;background:#4fe3e0;border-color:#4fe3e0}#menu{background:radial-gradient(circle at 50% 40%,#1e8c9c4d,#101416db);place-items:center;display:grid;position:fixed;inset:0}.menu-card{width:min(380px,100vw - 32px);max-height:calc(100vh - 32px);clip-path:var(--facet);--cut:18px;text-align:center;background:#12171ad1;padding:28px 24px 20px;overflow-y:auto}.menu-card h1{letter-spacing:.02em;color:var(--shard);text-shadow:0 0 24px #4fe3e073;margin:0;font-size:46px;font-weight:700}.tagline{color:var(--bone-dim);margin:4px 0 20px}.hint{color:var(--bone-dim);margin:12px 0 0;font-size:13px}.field{text-align:left;color:var(--bone-dim);gap:4px;margin-bottom:10px;font-size:13px;display:grid}.field input{color:var(--bone);clip-path:var(--facet);--cut:6px;background:#f2eee312;border:0;padding:10px 12px;font:16px Chakra Petch,system-ui,sans-serif}.field input:focus-visible{background:#1e8c9c4d;outline:none}#lobby-preview{width:220px;height:260px;margin:-4px auto 8px;display:block}.picker{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}button{font:inherit;color:var(--bone);clip-path:var(--facet);--cut:6px;cursor:pointer;background:#f2eee312;border:0;padding:10px 12px}button:focus-visible{outline:2px solid var(--shard);outline-offset:-2px}.picker button[aria-checked=true]{box-shadow:inset 0 0 0 2px var(--shard);background:#4fe3e02e}.menu-card:has(#lobby[data-mode=onboarding]:not([hidden])){width:min(700px,100vw - 32px)}#lobby:not([data-mode=onboarding]) #creator,#lobby:not([data-mode=onboarding]) .lobby-intro{display:none}#lobby:not([data-mode=onboarding]) .lobby-body{grid-template-columns:1fr}#lobby:not([data-mode=returning]) .lobby-note{display:none}.lobby-intro{color:var(--bone-dim);text-align:left;margin:-4px 0 12px;font-size:13px;line-height:1.45}.lobby-note{color:var(--bone-dim);margin:-6px 0 12px;font-size:12px}.lobby-intro kbd,.lobby-note kbd{font-size:.75em}.lobby-body{text-align:left;grid-template-columns:220px 1fr;align-items:start;gap:4px 20px;margin-bottom:12px;display:grid}.lobby-body #lobby-preview{margin:0 auto;position:sticky;top:0}@media (max-width:620px){.lobby-body{grid-template-columns:1fr}}.creator .picker{margin-bottom:6px}.cc-fields{border:0;min-width:0;margin:0;padding:0}.cc-fields:disabled{opacity:.55}.cc-row{border-bottom:1px solid var(--edge);grid-template-columns:52px 1fr;align-items:center;gap:4px 8px;padding:5px 0;display:grid}.cc-label{letter-spacing:.08em;text-transform:uppercase;color:var(--bone-dim);font-size:11px}.cc-cycle{grid-template-columns:28px 1fr 28px;align-items:center;gap:4px;display:grid}.cc-step{--cut:4px;padding:3px 0;font-size:16px;line-height:1}.cc-step:disabled{opacity:.35;cursor:default}.cc-value{text-align:center;white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.cc-row.locked .cc-value{color:var(--ember)}.cc-swatches{flex-wrap:wrap;grid-column:2;gap:4px;display:flex}.cc-swatch{background:var(--c);--cut:4px;width:22px;height:22px;padding:0}.cc-swatch:hover{filter:brightness(1.15)}.cc-swatch[aria-checked=true]{box-shadow:inset 0 0 0 2px var(--bone), inset 0 0 0 4px #101416b3}.cc-swatch:focus-visible{outline:2px solid var(--shard);outline-offset:-2px}.cc-swatch.locked{cursor:not-allowed;opacity:.45;background:linear-gradient(135deg, transparent 45%, var(--bone) 45% 55%, transparent 55%), var(--c)}.cc-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.cc-actions button{padding:7px 10px;font-size:14px}.cc-status{min-height:1.2em;color:var(--bone-dim);margin:6px 0 0;font-size:12px}.account{text-align:left;gap:2px;display:grid}.tabs{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px;display:grid}.tabs button[aria-selected=true]{box-shadow:inset 0 0 0 2px var(--shard);background:#4fe3e02e}.field small{color:var(--bone-dim);margin-left:4px;font-size:12px}.field input[aria-invalid=true]{box-shadow:inset 0 0 0 2px var(--blood)}.form-error{color:#ff9ea1;min-height:1.2em;margin:0 0 8px;font-size:13px}.form-error.ok{color:#c9f2c2}.form-intro{color:var(--bone-dim);margin:0 0 10px;font-size:13px;line-height:1.45}.form-links{text-align:center;margin:10px 0 0;font-size:13px}.form-links button.link{color:var(--bone-dim);font-size:13px}.verify-note{color:var(--ember);margin:-4px 0 12px;font-size:13px;line-height:1.45}.verify-note b{color:var(--bone);font-weight:600}.verify-note button.link{font-size:13px}.signed-in{color:var(--bone-dim);margin:0 0 12px}.signed-in strong{color:var(--bone);font-weight:600}button.link{clip-path:none;color:var(--shard);text-underline-offset:3px;background:0 0;padding:0;text-decoration:underline}#play,.respawn,button.primary{background:var(--shard-deep);width:100%;font-size:17px;font-weight:600}#play:disabled,.respawn:disabled,button.primary:disabled{opacity:.65;cursor:progress}#play:not(:disabled):hover,.respawn:not(:disabled):hover,button.primary:not(:disabled):hover{background:#23a4b6}.controls{text-align:left;color:var(--bone-dim);margin-top:14px;font-size:13px}.controls summary{cursor:pointer;text-align:center}@media (max-width:720px){.slot{width:44px;height:44px}.slot .icon{width:34px;height:34px}.vitals{width:170px;bottom:72px}.keys{display:none}.inv-panel{flex-direction:column}.box-section,.craft-section{border-left:0;padding-left:0}}@media (prefers-reduced-motion:reduce){.gauge.low,.toast.fade,.crosshair.hit{animation:none}}.build-bar{white-space:nowrap;background:var(--slate);clip-path:var(--facet);--cut:6px;align-items:center;gap:2px;padding:4px 6px;font-size:13px;display:flex;position:absolute;bottom:140px;left:50%;transform:translate(-50%)}.build-bar .piece{opacity:.6;padding:2px 8px}.build-bar .piece.on{opacity:1;background:var(--shard-deep);clip-path:var(--facet);--cut:4px}.build-bar .build-status{margin-left:10px;font-weight:600}.build-bar .build-status.ok{color:#b9f0a8}.build-bar .build-status.bad{color:#ff9a8a}.build-bar .build-keys{opacity:.75;margin-left:12px}.compass-strip .mate{color:#12171a;background:var(--mate,#e2b23c);white-space:nowrap;border-radius:2px;padding:0 4px;font-size:9px;line-height:11px;position:absolute;top:14px;transform:translate(-50%)}.nameplate.ally{background:color-mix(in srgb, var(--ally,#e2b23c) 70%, black)}.condition.good{color:#9fe3a0}.nameplate.hostile:before{content:"⚔ ";color:#ff7a6b}.trader-panel{width:min(1100px,100vw - 32px);display:block}.trader-head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:10px;display:flex}.trader-greeting{color:var(--bone-dim);margin:0;font-size:13px;font-style:italic}.trader-standing{justify-items:end;gap:4px;min-width:200px;font-size:12px;display:grid}.rep-bar{background:#f2eee31f;width:200px;height:6px}.rep-fill{background:var(--shard);transform-origin:0;height:100%}.trader-scrip{color:var(--gold,#e2b23c);font-size:15px;font-weight:700}.trader-body{grid-template-columns:1fr 1fr 1.2fr;gap:16px;display:grid}.trader-col{align-content:start;gap:5px;display:grid}.trader-col h3{margin:0 0 4px}.trader-row{cursor:pointer}.trader-price{color:#e2b23c;font-weight:700}.trader-price.missing{color:#ff9ea1}.trader-price.up:after{content:" ▲";color:#ff9ea1;font-size:10px}.trader-price.down:after{content:" ▼";color:#ff9ea1;font-size:10px}.mission{clip-path:var(--facet);--cut:6px;background:#f2eee312;padding:8px 10px;font-size:13px}.mission p{color:var(--bone-dim);margin:3px 0}.mission.ready{background:#1e8c9c59}.mission.done{opacity:.55}.mission-reward{color:#e2b23c;margin-top:3px;font-size:12px}.mission-buttons{align-items:center;gap:10px;margin-top:6px;display:flex}.mission-state{color:var(--bone-dim);font-size:12px}button.small{padding:4px 12px;font-size:13px}.nameplate.trader{background:#1e8c9cb3}@media (max-width:860px){.trader-body{grid-template-columns:1fr}}.dashboard{background:var(--slate);width:220px;clip-path:var(--facet);gap:6px;padding:10px 12px;display:grid;position:absolute;bottom:150px;right:16px}.dash-head{align-items:baseline;gap:6px;display:flex}.dash-title{letter-spacing:.08em;text-transform:uppercase;color:var(--bone-dim);flex:1;font-size:12px}.dash-speed{font-variant-numeric:tabular-nums;font-size:30px;font-weight:700;line-height:1}.dash-unit{color:var(--bone-dim);font-size:12px}.dash-row{grid-template-columns:34px 1fr 46px;align-items:center;gap:8px;font-size:12px;display:grid}.dash-row>span:last-child{text-align:right;font-variant-numeric:tabular-nums}.dash-fuel{--tone:var(--ember)}.dash-hp{--tone:var(--moss)}.dash-fuel.low{animation:1s ease-in-out infinite pulse}.dash-row[hidden]{display:none}.dash-keys{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.dash-keys span{border:1px solid var(--edge);color:var(--bone-dim);padding:1px 6px;font-size:11px}.prompt:has(.prompt-hint){flex-wrap:wrap;justify-content:center}.prompt-hint{color:var(--ember);text-align:center;flex-basis:100%;margin-top:2px;font-size:12px}.tutorial{background:var(--slate);width:250px;clip-path:var(--facet);pointer-events:auto;padding:10px 14px 12px;font-size:13px;position:absolute;top:16px;left:16px}.tutorial header{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.tutorial h3{text-transform:uppercase;letter-spacing:.1em;color:var(--shard);margin:0;font-size:12px;font-weight:600}.tutorial button.link{color:var(--bone-dim);font-size:11px}.tutorial ol{counter-reset:step;gap:3px;margin:0;padding:0;list-style:none;display:grid}.tutorial li{counter-increment:step;color:var(--bone-dim);grid-template-columns:18px 1fr;display:grid}.tutorial li:before{content:counter(step);color:var(--bone-dim);opacity:.6;padding-top:1px;font-size:11px}.tutorial li small{color:var(--bone-dim);grid-column:2;margin:1px 0 3px;font-size:11.5px;line-height:1.35}.tutorial li.next{color:var(--bone)}.tutorial li.next:before{content:"▸";color:var(--shard);opacity:1}.tutorial li.done{color:var(--bone-dim);opacity:.55}.tutorial li.done span{text-decoration:line-through;-webkit-text-decoration-color:var(--shard);text-decoration-color:var(--shard)}.tutorial li.done:before{content:"✓";color:var(--shard);opacity:1}.tutorial li.flash{animation:1.4s ease-out step-done}.tutorial p{color:var(--bone-dim);margin:8px 0 0;font-size:12px;line-height:1.4}@keyframes step-done{0%{opacity:1;color:var(--shard);translate:4px}to{translate:0}}.hint-card{background:var(--slate);border-left:3px solid var(--shard);pointer-events:auto;width:300px;padding:12px 16px 10px;position:absolute;top:70px;right:18px}.hint-card.in{animation:.35s ease-out hint-in}.hint-card h3{color:var(--shard);margin:0 0 5px;font-size:14px;font-weight:600}.hint-card p{color:var(--bone);margin:0;font-size:13px;line-height:1.45}.hint-card footer{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.hint-card footer button.link{color:var(--bone-dim);font-size:11px}.hint-card footer button:not(.link){padding:3px 12px;font-size:12px}@keyframes hint-in{0%{opacity:0;translate:16px}to{opacity:1;translate:0}}.tips-toggle{color:var(--bone-dim);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.tips-toggle input{accent-color:var(--shard)}.chat-entry{pointer-events:auto;align-items:stretch;margin-top:6px;display:flex}.chat-entry #chat-input{flex:1;min-width:0;margin-top:0}.chat-channel{letter-spacing:.04em;text-transform:uppercase;color:var(--slate-solid);background:var(--shard);cursor:pointer;place-items:center;padding:0 10px;font-size:12px;font-weight:600;display:grid}.chat-channel.clan{background:var(--clan,#e2b23c)}.chat-entry.clan #chat-input{outline-color:var(--clan,#e2b23c)}.chat-log .line.clan{color:color-mix(in srgb, var(--clan,#e2b23c) 35%, var(--bone))}.chat-log .line.clan b{color:var(--clan,#e2b23c)}.chat-log .line.clan.system{color:color-mix(in srgb, var(--clan,#e2b23c) 55%, var(--bone-dim))}.chat-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--slate-solid);background:var(--clan,#e2b23c);clip-path:polygon(3px 0,100% 0,100% calc(100% - 3px),calc(100% - 3px) 100%,0 100%,0 3px);vertical-align:1px;margin-right:6px;padding:0 5px;font-size:10px;font-style:normal;font-weight:700;line-height:1.6;display:inline-block}.clan-panel{outline:none;width:min(460px,100%);display:block}.clan-head{align-items:center;gap:10px;margin-bottom:6px;display:flex}.clan-head h2{flex:1;margin:0}.clan-title{color:var(--clan,var(--bone))}.clan-count{color:var(--bone-dim);font-size:13px}.clan-close{padding:2px 10px;font-size:18px;line-height:1.2}.clan-body h3:first-child{margin-top:4px}.clan-members{gap:4px;margin:0;padding:0;list-style:none;display:grid}.clan-member{clip-path:var(--facet);--cut:6px;color:var(--bone-dim);background:#f2eee30d;grid-template-columns:1fr auto;align-items:center;gap:4px 10px;padding:7px 10px;font-size:14px;display:grid}.clan-member.online{color:var(--bone)}.clan-member .clan-row{grid-column:1/-1;justify-content:flex-end}.clan-name{font-weight:600}.clan-badge{color:var(--slate-solid);background:var(--ember);clip-path:polygon(3px 0,100% 0,100% calc(100% - 3px),calc(100% - 3px) 100%,0 100%,0 3px);margin-right:8px;padding:1px 6px;font-size:11px;font-weight:700}.clan-status{color:var(--bone-dim);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13px}.clan-member.online .clan-status{color:var(--moss)}.clan-arrow{color:var(--shard);margin-right:6px;font-size:11px;display:inline-block}.clan-row{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.clan-field{width:100%;min-width:0;color:var(--bone);border:1px solid var(--edge);background:#04080ab3;outline:none;flex:1;padding:8px 10px;font:14px Chakra Petch,system-ui,sans-serif}.clan-field:focus-visible{border-color:var(--shard)}.clan-field[aria-invalid=true]{border-color:var(--blood)}.clan-row .clan-field{width:auto}.clan-problem{color:#ff9ea1;min-height:1.2em;margin:4px 0 0;font-size:12px}.clan-swatches{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.clan-swatch{background:var(--swatch);--cut:5px;width:30px;height:30px;padding:0}.clan-swatch.on{box-shadow:inset 0 0 0 3px var(--slate-solid), inset 0 0 0 5px var(--bone)}.clan-swatch:focus-visible{outline:3px solid var(--bone);outline-offset:-3px}.clan-invite{clip-path:var(--facet);--cut:8px;background:#1e8c9c4d;margin-bottom:10px;padding:10px 12px}.clan-invite p{margin:0;font-weight:600}.clan-create .primary{margin-top:4px;font-size:15px}.clan-hint{color:var(--bone-dim);margin:10px 0 0;font-size:12px;line-height:1.45}button.danger{color:#ffc2c4}button.danger[data-armed]{color:var(--bone);background:#e5484d59}.minimap{top:var(--minimap-top,14px);justify-items:center;gap:3px;display:grid;position:absolute;right:16px}.minimap-canvas{filter:drop-shadow(0 2px 6px #00000073);border-radius:50%;display:block}.minimap-scale{color:var(--bone-dim);font-variant-numeric:tabular-nums;background:var(--slate);clip-path:var(--facet);--cut:3px;padding:0 7px;font-size:11px;line-height:16px}.minimap.no-map .minimap-scale{display:none}#hud.has-minimap .hint-card{top:calc(var(--minimap-top,14px) + var(--minimap-size,168px) + 30px)}@media (max-width:920px){#hud{--minimap-top:74px}}.compass-strip .marker-pip{background:var(--pip,var(--shard));width:6px;height:6px;position:absolute;top:3px;transform:translate(-50%)rotate(45deg);box-shadow:0 0 0 1px #10161a}.compass-strip .waypoint{color:#10161a;background:var(--shard);white-space:nowrap;clip-path:polygon(4px 0,calc(100% - 4px) 0,100% 50%,calc(100% - 4px) 100%,4px 100%,0 50%);padding:0 5px;font-size:10px;font-weight:600;line-height:12px;position:absolute;top:1px;transform:translate(-50%)}.compass-strip .marker-pip[hidden],.compass-strip .waypoint[hidden]{display:none}.map-frame{position:relative}.map-canvas{cursor:crosshair;outline:none}.map-canvas:focus-visible{outline:2px solid var(--shard);outline-offset:2px}.marker-pop{z-index:2;text-align:left;background:var(--slate-solid);border-left:3px solid var(--shard);outline:none;gap:8px;width:236px;padding:10px 12px 12px;display:grid;position:absolute;box-shadow:0 8px 24px #00000080}.marker-head{justify-content:space-between;align-items:baseline;font-size:13px;display:flex}.marker-head b{letter-spacing:.06em;text-transform:uppercase;color:var(--bone-dim);font-size:12px;font-weight:600}.marker-close{color:var(--bone-dim);font-size:18px;line-height:1;text-decoration:none}.marker-icons,.marker-colors{flex-wrap:wrap;gap:4px;display:flex}.marker-icon{--cut:4px;place-items:center;padding:3px;display:grid}.marker-icon[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--shard);background:#4fe3e038}.marker-swatch{width:26px;height:26px}.marker-label{padding:6px 8px;font-size:13px}.marker-share{margin:0}.marker-share:has(input:disabled){opacity:.6;cursor:default}.marker-actions{flex-wrap:wrap;gap:6px;display:flex}.marker-actions button.primary{padding:4px 14px;font-size:13px}.marker-shared{align-items:center;gap:8px;font-size:15px;display:flex}.marker-by{color:var(--bone-dim);margin:0;font-size:12px}.ps-panel{width:min(1180px,100vw - 32px);height:min(720px,100vh - 32px);clip-path:var(--facet);--cut:16px;background:#12171ae6;flex-direction:column;display:flex}.ps-head{border-bottom:1px solid var(--edge);align-items:center;gap:14px;padding:10px 14px 0 18px;display:flex}.ps-tabs{gap:2px;display:flex}.ps-tab{color:var(--bone-dim);clip-path:polygon(8px 0,100% 0,100% 100%,0 100%,0 8px);background:0 0;align-items:center;gap:6px;padding:9px 16px 8px;font-size:15px;font-weight:600;display:flex}.ps-tab:hover{color:var(--bone);background:#f2eee30f}.ps-tab[aria-selected=true]{color:var(--bone);box-shadow:inset 0 -2px 0 var(--shard);background:#1e8c9c59}.ps-tab kbd{margin:0;font-size:.7em}.ps-keys{color:var(--bone-dim);margin-left:auto;font-size:12px}.ps-keys kbd{margin-right:2px;font-size:.75em}.ps-close{padding:2px 10px;font-size:18px;line-height:1.2}.ps-pane{flex:1;min-height:0;padding:16px 18px 18px;overflow:auto}.ps-pane h2{margin:0 0 10px;font-size:16px;font-weight:600}.ps-pane h3{color:var(--bone-dim);margin:12px 0 8px;font-size:13px;font-weight:500}.inv-cols{flex-wrap:wrap;align-items:flex-start;gap:18px;display:flex}.inv-section{width:509px}.inv-bar{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.inv-bar h2{margin:0}.hot-head small{color:var(--bone-dim);opacity:.8;margin-left:6px;font-size:11px}.grid.hotbar-row{clip-path:var(--facet);--cut:8px;background:#4fe3e012;padding:5px}.grid.hotbar-row .slot{background:#f2eee31a}.grid .slot.hot.selected{background:#1e8c9c8c}.item-detail{min-height:86px;clip-path:var(--facet);--cut:8px;background:#f2eee30d;grid-template-columns:48px 1fr;align-items:start;gap:10px;margin-top:12px;padding:8px 10px;display:grid}.item-detail .icon{object-fit:contain;width:48px;height:48px}.item-detail strong{font-weight:600}.item-detail p{color:var(--bone-dim);margin:3px 0 0;font-size:13px;line-height:1.4}.item-wear{color:var(--moss);margin-left:8px;font-size:12px}.item-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--shard);margin-top:4px;font-size:11px;display:inline-block}.item-empty{color:var(--bone-dim);grid-column:1/-1;margin:0;font-size:13px}.tooltip p.tooltip-keys{color:var(--shard);font-size:12px}.craft-section{flex:1;width:auto;min-width:330px}.craft-head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.craft-head h2{margin:0}.craft-search{min-width:0;font:inherit;color:var(--bone);border:1px solid var(--edge);background:#0000004d;outline:none;flex:1;padding:6px 10px;font-size:13px}.craft-search:focus-visible{border-color:var(--shard)}.craft-can{white-space:nowrap}.craft-cats{flex-wrap:wrap;gap:4px;margin-bottom:10px;display:flex}.craft-cat{--cut:4px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.craft-cat[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--shard);background:#4fe3e02e}.craft-count{color:var(--bone-dim);font-variant-numeric:tabular-nums;font-size:11px}.craft-body{grid-template-columns:minmax(200px,1fr) minmax(220px,1fr);align-items:start;gap:12px;display:grid}.recipes{align-content:start;max-height:470px;padding-right:4px;overflow-y:auto}.craft-group{letter-spacing:.08em;text-transform:uppercase;color:var(--bone-dim);margin:8px 0 2px;font-size:11px;font-weight:600}.craft-group:first-child{margin-top:0}.craft-none{color:var(--bone-dim);margin:4px 0;font-size:13px}.recipe{color:var(--bone-dim);grid-template-columns:36px 1fr auto;gap:8px;padding:4px 8px 4px 4px}.recipe .icon{width:36px;height:36px}.recipe.ready{color:var(--bone)}.recipe[aria-selected=true]{box-shadow:inset 0 0 0 1px var(--shard);color:var(--bone);background:#1e8c9c66}.recipe:hover{background:#1e8c9c4d}.recipe-cost .have{color:var(--bone)}.recipe-detail{clip-path:var(--facet);--cut:10px;background:#f2eee30d;padding:12px;position:sticky;top:0}.rd-head{grid-template-columns:56px 1fr;align-items:center;gap:10px;display:grid}.rd-head .icon{object-fit:contain;width:56px;height:56px}.rd-head strong{font-size:16px;font-weight:600;display:block}.rd-meta{color:var(--bone-dim);font-size:12px}.rd-desc{color:var(--bone-dim);margin:8px 0 0;font-size:13px;line-height:1.45}.recipe-detail h4{letter-spacing:.08em;text-transform:uppercase;color:var(--bone-dim);margin:10px 0 4px;font-size:11px}.rd-needs{gap:3px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.rd-needs li{grid-template-columns:20px 1fr auto;align-items:center;gap:6px;display:grid}.rd-needs li:not(:has(img)){grid-template-columns:1fr}.rd-needs .mini{object-fit:contain;width:20px;height:20px}.rd-needs b{font-variant-numeric:tabular-nums}.rd-needs .have b{color:#b9f0a8}.rd-needs .missing{color:#ff9ea1}.rd-buttons{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.rd-buttons button.primary{width:auto;margin:0;padding:6px 18px;font-size:14px}.rd-buttons button:disabled{opacity:.45;cursor:default}.rd-busy{color:var(--shard);font-size:13px}.inv-cols:has(.box-section:not([hidden])) .craft-body{grid-template-columns:1fr}.inv-cols:has(.box-section:not([hidden])) .recipes{max-height:260px}@media (max-width:1100px){.craft-body{grid-template-columns:1fr}.recipes{max-height:300px}}.char-cols{grid-template-columns:280px minmax(0,520px);align-items:start;gap:24px;display:grid}.char-stage{text-align:center;position:sticky;top:0}.char-preview{cursor:grab;background:radial-gradient(at 50% 85%,#4fe3e01f,#0000 60%);outline:none;width:260px;height:340px;margin:0 auto;display:block}.char-preview:active{cursor:grabbing}.char-preview:focus-visible{box-shadow:inset 0 0 0 2px var(--shard)}.char-hint{color:var(--bone-dim);margin:4px 0 0;font-size:12px}.char-gate{color:var(--bone);clip-path:var(--facet);--cut:6px;background:#96222873;margin:0 0 12px;padding:8px 12px;font-size:13px;line-height:1.45}@media (max-width:760px){.char-cols{grid-template-columns:1fr}}.pause-card{text-align:center;width:min(340px,100vw - 32px);clip-path:var(--facet);--cut:14px;background:#12171aeb;gap:8px;padding:22px 22px 18px;display:grid}.pause-card h2{letter-spacing:.04em;margin:0;font-size:22px}.pause-note{color:var(--bone-dim);margin:0 0 6px;font-size:13px}.pause-card .tips-toggle{justify-content:center;margin-top:4px}.pause-tip{color:var(--bone-dim);margin:6px 0 0;font-size:12px;line-height:1.5}.pause-tip kbd{font-size:.75em}.look-cue{color:var(--bone-dim);clip-path:var(--facet);--cut:4px;background:#12171a8c;padding:2px 10px;font-size:12px;position:absolute;top:calc(50% + 22px);left:50%;transform:translate(-50%)}.set-page{grid-template-columns:minmax(320px,440px) minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (max-width:900px){.set-page{grid-template-columns:1fr}}.set-groups{gap:12px;display:grid}.set-card{border:1px solid var(--edge);clip-path:var(--facet);--cut:10px;background:#f2eee30a;padding:12px 16px 6px}.set-card h3{letter-spacing:.14em;text-transform:uppercase;color:var(--shard);margin:0 0 4px;font-size:11px;font-weight:700}.set-row{border-top:1px solid #f2eee312;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 16px;min-height:44px;padding:6px 0;display:grid}.set-card h3+.set-row{border-top:0}.set-label{color:var(--bone);gap:2px;font-size:14px;display:grid}.set-label label{cursor:pointer}.set-label small{color:var(--bone-dim);font-size:12px;line-height:1.35}.set-slider{align-items:center;gap:10px;display:flex}.set-slider input[type=range]{appearance:none;background:linear-gradient(to right, var(--shard) var(--fill,50%), #f2eee32e var(--fill,50%));cursor:pointer;border-radius:2px;width:170px;height:4px;margin:0}.set-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--bone);border:2px solid var(--slate-solid);width:16px;height:16px;box-shadow:0 0 0 1px var(--shard);border-radius:50%}.set-slider input[type=range]::-moz-range-thumb{background:var(--bone);border:2px solid var(--slate-solid);width:12px;height:12px;box-shadow:0 0 0 1px var(--shard);border-radius:50%}.set-value{font-variant-numeric:tabular-nums;text-align:right;min-width:3.2em;color:var(--bone-dim);font-size:13px}.set-switch{appearance:none;cursor:pointer;background:#f2eee32e;border-radius:11px;width:40px;height:22px;margin:0;transition:background .15s;position:relative}.set-switch:after{content:"";background:var(--bone);border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:3px;left:3px}.set-switch:checked{background:var(--shard-deep)}.set-switch:checked:after{background:var(--shard);transform:translate(18px)}.set-switch:disabled{opacity:.4;cursor:not-allowed}.set-seg{border:1px solid var(--edge);background:#0000004d;border-radius:6px;gap:2px;padding:2px;display:inline-flex}.set-seg button{color:var(--bone-dim);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:4px;padding:5px 11px;font-family:inherit;font-size:13px;font-weight:500;line-height:1.2}.set-seg button:hover:not(:disabled){color:var(--bone);background:#f2eee30f}.set-seg button[aria-checked=true]{color:var(--slate-solid);background:var(--shard);font-weight:600}.set-seg.disabled{opacity:.4}.set-seg button:disabled{cursor:not-allowed}.set-switch:focus-visible,.set-seg button:focus-visible,.set-slider input:focus-visible{outline:2px solid var(--shard);outline-offset:2px}.set-keys{padding-bottom:12px}.keys-list{columns:2 260px;column-gap:24px}.keys-group{break-inside:avoid;margin:6px 0 12px}.keys-group h4{color:var(--bone);letter-spacing:.04em;margin:0 0 6px;font-size:12px;font-weight:600}.keys-group dl{grid-template-columns:minmax(96px,auto) 1fr;gap:5px 12px;margin:0;font-size:13px;display:grid}.keys-group dt{align-items:center;display:flex}.keys-group dd{color:var(--bone-dim);margin:0;line-height:1.4}.key-caps{color:var(--bone-dim);flex-wrap:wrap;align-items:center;gap:3px;font-size:12px;display:inline-flex}.key-caps kbd{margin:0}.key-caps .mouse{color:var(--shard);font-weight:600}.controls .keys-list{columns:1;margin-top:10px}.set-compact{text-align:left;margin-top:10px}.set-compact .set-slider input[type=range]{width:130px}.set-compact .set-row:has(.set-seg){grid-template-columns:1fr}.set-compact .set-row:has(.set-seg) .set-seg{justify-self:start}
