:root{--inventory-width: 364px;--slot-width: calc((var(--inventory-width) - 20px) / 5);--slot-height: 47px;--slot-gap: 3px;--slot-fill: #1d242d}.item-layer{display:contents}.slot-grid{display:grid;grid-template-columns:repeat(5,var(--slot-width));gap:var(--slot-gap)}.item-slot{position:relative;display:flex;align-items:center;justify-content:center;flex:none;width:var(--slot-width);height:var(--slot-height);min-width:0;padding:8px 3px 10px;background:var(--slot-fill);border:0;border-radius:5px;text-align:center;touch-action:none;user-select:none;-webkit-touch-callout:none}.item-slot:hover{background:#2a3440}.item-slot:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.item-slot.active{background:#36424f;color:#fff}.item-slot.selected,.item-slot.drop-over{background:#3d4d5e}.item-slot.dragging{background:var(--slot-fill)}.item-slot.dragging>*{visibility:hidden}.item-slot-name{font-size:10px;line-height:12px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.item-slot-label{position:absolute;top:3px;left:4px;font-size:8px;line-height:9px;color:var(--muted)}.item-slot:has(.item-slot-label){padding:13px 3px 9px}.item-slot-count{position:absolute;bottom:2px;right:4px;font-size:8px;line-height:10px;color:var(--soft)}.item-slot-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:#ffffff18}.item-slot-progress>span{height:100%;display:block;background:var(--accent);transition:width .15s linear}.quick-slots{display:grid;grid-template-columns:repeat(5,var(--slot-width));gap:var(--slot-gap);padding:4px;width:var(--inventory-width);background:var(--surface);border-radius:var(--radius-control);box-shadow:var(--panel-shadow)}.item-drag-ghost{transform-origin:top left;position:fixed;z-index:40;pointer-events:none;box-shadow:var(--panel-shadow)}.slot-overflow{margin-top:8px;font-size:10px;color:var(--muted)}.slot-overflow summary{cursor:pointer;padding:4px}.slot-overflow .slot-grid{margin-top:4px}.item-menu{position:fixed;z-index:30;width:242px;max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);overflow-y:auto;background:var(--surface-floating);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--ink);border-radius:var(--radius-panel);box-shadow:var(--panel-shadow);padding:6px;font-size:11px;overscroll-behavior:contain}.item-menu-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;font-size:12px}.item-menu-description{margin:0 10px 8px;font-size:10px;font-weight:400;line-height:1.6;color:var(--muted)}.item-menu>button{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;padding:10px;min-height:36px;border-radius:var(--radius-control)}.item-menu button:hover:not(:disabled),.item-menu button:focus-visible{background:#ffffff10}.item-menu small{font-size:9px;color:var(--muted);text-align:right;max-width:55%}.item-menu-divider{border-top:1px solid var(--line);margin:5px 4px}.item-menu form{padding:10px}.item-menu label{display:block;line-height:1.8}.item-menu label span{color:var(--muted)}.item-menu input{display:block;margin:12px 0;padding:10px;width:100%;font-size:16px;background:var(--surface-inset);color:#fff;border:0;border-radius:var(--radius-control)}.item-menu input:focus-visible{background:var(--surface-raised)}.item-menu-form-actions{display:flex;gap:10px;justify-content:flex-end}.item-menu-form-actions button{padding:9px 14px;background:#ffffff0c;border-radius:var(--radius-control)}.world-menu{width:max-content;min-width:120px;padding:4px}.world-menu>button{justify-content:flex-start}.item-menu button[aria-disabled=true]{color:var(--muted);cursor:default}@media (max-width: 760px){.item-menu>button{min-height:42px}}.facility{display:grid;gap:1.3rem}.facility section{display:grid;gap:.6rem}.facility p{margin:.25rem 0;line-height:1.55}.facility h2{font-size:1rem;margin:.2rem 0}.facility h3{font-size:.9rem}.facility button,.facility input,.facility select{font:inherit;padding:.55rem .65rem;color:inherit;background:var(--surface-control);border:1px solid var(--control-border);border-radius:var(--radius-control)}.facility button:hover:not(:disabled),.facility button:focus-visible{background:var(--surface-raised)}.facility input:focus-visible,.facility select:focus-visible{border-color:var(--accent)}.facility button:disabled{opacity:.45}.facility label,.facility form{display:grid;gap:.5rem}.facility-row{display:flex;gap:.75rem;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff13;padding:.4rem 0}.facility-row small{display:block;opacity:.6;margin-top:.25rem}.facility-row>div,.facility-buttons{display:flex;flex-wrap:wrap;gap:.4rem}.facility .muted{opacity:.6;font-size:.8rem}.facility-access{font-size:10px;color:var(--muted);padding:5px 3px;white-space:nowrap}.facility-access:hover:not(:disabled){color:var(--ink)}.facility-access:focus-visible{outline:1px solid var(--accent);border-radius:3px}.side-panel.map-panel{width:min(640px,calc(100vw - 40px));height:min(640px,calc(100dvh - 160px));max-height:none}.map-panel .panel-content{display:flex;flex:1;padding:0;overflow:hidden}.map-content{min-width:0;min-height:0;display:flex;flex:1;flex-direction:column}.map-surface{position:relative;flex:1;min-height:64px;overflow:hidden;background:var(--surface-control)}.map-surface canvas{position:absolute;width:100%;height:100%;display:block;touch-action:none;cursor:grab}.map-surface canvas:active{cursor:grabbing}.map-coordinates,.map-scale{position:absolute;pointer-events:none;background:var(--paper);border-radius:var(--radius-control);color:var(--soft);font-size:9px}.map-coordinates{bottom:10px;right:10px;padding:6px 8px}.map-scale{bottom:10px;left:10px;padding:8px;text-align:center}.map-scale>span{display:block;height:5px;border:1px solid var(--soft);border-top:0;margin-bottom:4px}.map-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);pointer-events:none}@media (max-width: 760px){.side-panel.map-panel{width:calc(100vw - 24px);height:auto;bottom:max(230px,calc(env(safe-area-inset-bottom) + 210px))}}@media (orientation: landscape) and (max-height: 550px) and (max-width: 960px){.side-panel.map-panel{width:calc(100vw - 280px);right:140px;height:auto;bottom:max(90px,calc(env(safe-area-inset-bottom) + 75px))}}.performance-stats{position:absolute;top:78px;left:20px;width:332px;max-width:calc(100vw - 40px);max-height:calc(100dvh - 240px);overflow:auto;z-index:7;padding:12px 14px;border-radius:var(--radius-panel);box-shadow:var(--panel-shadow);background:var(--paper);color:var(--ink);font-size:11px;font-variant-numeric:tabular-nums}.performance-stats-header,.performance-stats dl>div{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.performance-stats-header{align-items:center;margin-bottom:10px}.performance-stats strong{font-weight:500}.performance-stats dl{margin:0}.performance-stats dl>div{padding:3px 0}.performance-stats dt{color:var(--muted)}.performance-stats dd{margin:0;white-space:nowrap}.performance-stats p{color:var(--muted);font-size:10px;line-height:1.6;margin-top:10px}.performance-quality{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.performance-quality select{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--muted);border-radius:4px;padding:4px}.performance-stats .performance-wind{padding:4px 0;font-size:11px}.performance-stats .performance-wind{margin-top:8px}@media (max-width: 600px){.performance-stats{top:66px;left:12px;width:332px;max-width:calc(100vw - 24px);font-size:10px}}.chat{position:absolute;left:max(var(--edge),env(safe-area-inset-left));bottom:max(20px,env(safe-area-inset-bottom));width:min(340px,calc(50vw - 208px));min-width:180px;z-index:4;font-size:11px}.chat.resting{pointer-events:none}.chat-history{display:flex;flex-direction:column;gap:5px;line-height:1.65;overflow-wrap:anywhere}.chat.resting .chat-history{overflow:hidden;max-height:132px;text-shadow:0 1px 3px #000,0 0 8px #000}.chat-line{flex-shrink:0;font-weight:400}.chat-line strong{color:#fff;font-weight:500}.chat-line.world-message{color:var(--soft)}.chat-line.good{color:var(--accent)}.chat-line.warning{color:#f4cba3}.chat-launcher{display:grid;place-items:center;width:42px;height:42px;margin-top:9px;padding:0;color:var(--soft);background:var(--paper);border-radius:var(--radius-control);box-shadow:var(--floating-shadow);pointer-events:auto}.chat-launcher svg{width:21px;height:21px}.chat-launcher:hover,.chat-launcher:focus-visible{background:var(--surface-raised);color:#fff}.chat.open{display:flex;flex-direction:column;width:min(380px,calc(100vw - 40px));max-height:calc(100dvh - var(--keyboard-inset, 0px) - 100px);background:var(--paper);border-radius:var(--radius-panel);overflow:hidden;box-shadow:var(--panel-shadow);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.chat-heading{display:flex;flex-shrink:0;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line)}.chat-heading>span{color:var(--muted);font-size:9px}.chat-heading .icon-close{margin-left:auto}.chat.open .chat-history{height:min(230px,calc(100dvh - 240px));min-height:80px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffffff38 transparent;padding:12px}.chat-empty{color:var(--muted);font-size:11px;line-height:1.9;font-weight:400}.chat-compose{display:flex;flex-shrink:0;align-items:center;gap:6px;border-top:1px solid var(--line);padding:7px}.chat-input{position:relative;flex:1;min-width:0;height:32px}.chat-compose input{display:block;width:100%;height:100%;min-width:0;color:#fff;background:transparent;border:0;border-radius:var(--radius-control);padding:8px 5px;font-size:11px;font-weight:400}.chat-compose input::placeholder{color:var(--faint)}.chat-compose button{font-size:10px;padding:9px 6px;border-radius:var(--radius-control)}.chat-unread{display:block;width:100%;background:var(--ink);color:var(--surface-inset);padding:7px;font-size:10px}@media (pointer: coarse),(max-width: 760px){.chat-input{height:44px}.chat-compose input{--input-scale: .6875;position:absolute;top:0;left:0;width:calc(100% / var(--input-scale));height:calc(100% / var(--input-scale));padding:calc(8px / var(--input-scale)) calc(5px / var(--input-scale));font-size:16px;transform:scale(var(--input-scale));transform-origin:top left}}@media (max-width: 1100px){.chat{bottom:93px;width:275px}}@media (pointer: coarse){.chat{bottom:192px}.chat-compose button,.chat-heading button{min-height:36px}.chat-launcher{width:44px;height:44px}}@media (max-width: 760px){.chat{bottom:192px;width:min(275px,calc(100vw - 24px))}.chat.resting .chat-history{max-height:72px}.chat.resting .chat-line{font-size:10px}.panel-open .chat.resting .chat-history{display:none}.panel-open .chat.resting{bottom:182px}.chat.open{bottom:max(86px,calc(var(--keyboard-inset, 0px) + 12px),env(safe-area-inset-bottom));width:calc(100vw - 24px);z-index:7}.chat.open .chat-history{height:min(230px,calc(100dvh - 230px))}.chat-launcher{width:44px;height:44px}}@media (max-height: 550px) and (max-width: 960px){.chat{bottom:166px;width:230px}.chat.resting .chat-history{display:none}.chat.open{width:min(350px,calc(100vw - 24px));bottom:max(88px,calc(var(--keyboard-inset, 0px) + 12px))}.chat.open .chat-history{height:max(60px,calc(100dvh - 245px));min-height:60px}}@media (min-width: 560px) and (max-width: 960px) and (max-height: 550px){.chat.resting .chat-history,.panel-open .chat.resting .chat-history{display:flex;max-height:48px}}.navigation-hud{position:absolute;top:max(var(--edge),env(safe-area-inset-top));left:50%;transform:translate(-50%);width:260px;text-align:center;pointer-events:none;color:#fff;text-shadow:0 1px 3px #000,0 0 8px #0008}.compass{position:relative;height:30px;margin-bottom:8px}.compass-window{height:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent)}.compass-track{position:relative;width:100%;height:100%;will-change:transform}.compass-track:before{content:"";position:absolute;bottom:0;left:-50%;width:400%;height:1px;background:#ffffff50}.compass-tick{position:absolute;bottom:0;width:1px;height:4px;background:#ffffff80}.compass-tick.cardinal{height:7px;background:#fff}.compass-tick>span{position:absolute;bottom:10px;left:50%;transform:translate(-50%);font-size:11px}.compass-center{position:absolute;bottom:-3px;left:calc(50% - 1px);width:2px;height:8px;background:#fff;box-shadow:0 1px 4px #000}.region-name{font-size:12px;letter-spacing:.4px}.world-player-health{position:absolute;visibility:hidden;transform:translate(-50%,-100%);pointer-events:none;width:76px;height:7px;padding:2px;background:var(--paper);border-radius:var(--radius-small);overflow:hidden;box-shadow:0 2px 5px #0006;z-index:1}.world-player-health>span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .2s}.world-player-health.low>span{background:#ef9a84}@media (max-width: 760px){.navigation-hud{width:210px}.region-name{font-size:11px}}.overhead-notices{position:absolute;visibility:hidden;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:5px;width:max-content;max-width:min(320px,calc(100vw - 24px));pointer-events:none;z-index:8}.overhead-notice{padding:8px 12px;max-width:100%;border-radius:var(--radius-control);background:var(--paper);color:#fff;box-shadow:var(--floating-shadow);font-size:12px;font-weight:500;line-height:1.4;text-align:center;overflow-wrap:anywhere;animation:notice-arrive .16s ease-out;transition:opacity .25s ease-out}.overhead-notice.good>span{color:var(--accent)}.overhead-notice.error,.overhead-notice.warning{color:#ffb2a5}.overhead-notice.leaving{opacity:0}@keyframes notice-arrive{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.overhead-notice{animation:none;transition:none}}.player-labels{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}.player-label{position:absolute;visibility:hidden;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;width:max-content;max-width:min(280px,calc(100vw - 24px));text-align:center}.player-name{max-width:100%;color:var(--ink);font-size:14px;line-height:20px;overflow-wrap:anywhere;text-shadow:0 1px 3px #000,0 0 5px #000,1px 0 2px #000}.player-speech{position:absolute;visibility:hidden;bottom:calc(100% + 9px);left:50%;transform:translate(-50%);width:max-content;max-width:min(280px,calc(100vw - 24px));padding:9px 12px;border-radius:9px;background:var(--ink);color:var(--surface-inset);box-shadow:0 2px 10px #0004;font-size:12px;font-weight:400;line-height:1.5;overflow-wrap:anywhere;animation:speech-arrive .15s ease-out;transition:opacity .35s ease-out}.player-speech:after{content:"";position:absolute;top:100%;left:var(--speech-tail-x, calc(50% - 4px) );border:4px solid transparent;border-top-color:var(--ink)}.player-speech.leaving{opacity:0}@keyframes speech-arrive{0%{opacity:0;transform:translate(-50%,3px)}to{opacity:1;transform:translate(-50%)}}@media (max-width: 760px){.player-label,.player-speech{max-width:min(240px,calc(100vw - 24px))}}@media (prefers-reduced-motion: reduce){.player-speech{animation:none;transition:none}}.placement-controls{position:absolute;visibility:hidden;transform:translate(-50%,-100%);z-index:7;display:none;gap:2px;padding:4px;border-radius:8px;background:var(--paper);box-shadow:var(--floating-shadow);color:var(--ink);pointer-events:auto}.placement-controls button{display:grid;place-items:center;width:32px;height:32px;padding:8px;border-radius:5px;touch-action:manipulation}.placement-controls button:hover:not(:disabled),.placement-controls button:focus-visible{background:var(--hover)}.placement-controls button[aria-disabled=true]{color:var(--faint)}.placement-controls svg{width:16px;height:16px;pointer-events:none}.placement-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media (pointer: coarse){.placement-controls{display:flex}}.crafting{min-width:0;height:100%;display:flex;flex-direction:column;gap:6px}.crafting>.recipe-workspace{flex:1;min-height:170px}.recipe-workspace{display:grid;grid-template-columns:142px minmax(0,1fr);gap:8px;height:100%}.recipe-browser{min-height:0;display:flex;flex-direction:column;gap:4px}.recipe-category{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;gap:4px;align-items:center;min-height:30px;font-size:10px;text-align:center}.recipe-category button,.craft-quantity button{display:grid;place-items:center;height:30px;padding:0;border-radius:4px;background:var(--surface-control);font-size:16px;line-height:1;color:var(--soft)}.recipe-category button:hover:not(:disabled),.craft-quantity button:hover:not(:disabled){background:var(--surface-raised);color:var(--ink)}.recipe-category button:active:not(:disabled),.craft-quantity button:active:not(:disabled){background:var(--control-border)}.recipe-category button:disabled,.craft-quantity button:disabled{opacity:1;color:var(--faint)}.recipe-category button:focus-visible,.craft-quantity button:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.recipe-choices{display:flex;flex-direction:column;gap:2px;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#ffffff38 transparent;overscroll-behavior:contain}.recipe-choice{display:flex;justify-content:space-between;align-items:center;gap:4px;flex:none;min-width:0;text-align:left;padding:9px 8px;border-radius:4px;font-size:10px;line-height:1.4;overflow-wrap:anywhere;color:var(--soft)}.recipe-choice:hover:not(:disabled){background:var(--hover)}.recipe-choice[aria-pressed=true]{background:var(--slot-fill);color:var(--ink);opacity:1}.recipe-choice:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.recipe-workspace .recipe-detail{display:flex;flex-direction:column;gap:12px;min-height:0;padding:10px;background:#ffffff05;border-radius:5px;overflow:hidden}.recipe-detail-heading h2{font-size:12px;line-height:1.5}.recipe-detail-heading h2>span{color:var(--muted);white-space:nowrap}.recipe-workspace .recipe-ingredients{flex:1;flex-direction:column;flex-wrap:nowrap;gap:5px;min-height:0;overflow-y:auto;scrollbar-width:thin}.recipe-ingredients>span{flex:none}.recipe-choice small{color:var(--muted);font-size:9px}.recipe-workspace .recipe-ingredients>span{display:flex;justify-content:space-between;gap:8px}.recipe-workspace .recipe-footer{flex:none;margin-top:auto;flex-wrap:nowrap;align-items:stretch;gap:6px}.recipe-workspace .craft-quantity{flex:1;min-width:0}.recipe-workspace .craft-quantity button{height:100%}.recipe-workspace .craft-button{flex:none}.recipe-ingredients{display:flex;flex-wrap:wrap;gap:3px 12px;font-size:10px;color:var(--soft);line-height:1.6}.recipe-ingredients>span>span{color:var(--muted);white-space:nowrap}.recipe-ingredients .missing,.recipe-ingredients .missing>span{color:#dba999}.recipe-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:10px}.craft-quantity{display:grid;grid-template-columns:28px minmax(28px,1fr) 28px;gap:2px;align-items:stretch;font-size:12px}.craft-quantity output{display:grid;place-items:center;border-radius:4px;background:var(--surface-inset);color:var(--ink);text-align:center;font-variant-numeric:tabular-nums}.crafting .craft-button{border:1px solid var(--accent-border);border-radius:5px;min-height:31px;padding:7px 8px;font-size:11px;background:var(--accent-fill);color:var(--ink)}.crafting .craft-button:hover:not(:disabled){background:#ffffff1c}.recipe-reason{font-size:10px;line-height:1.5;color:var(--muted);margin-top:8px}.crafting .craft-button{position:relative;overflow:hidden;min-width:70px}.crafting .craft-button.is-crafting{opacity:1}.craft-button.is-crafting:before{content:"";position:absolute;inset:0 auto 0 0;width:var(--craft-progress);background:#a7c5b13d;transition:width .1s linear}.craft-button>span{position:relative}.inventory-viewport{position:absolute;top:max(64px,env(safe-area-inset-top));bottom:max(18px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));pointer-events:none;z-index:5}.inventory-hud{position:absolute;bottom:0;left:50%;transform:translate(-50%) scale(var(--inventory-scale));transform-origin:bottom center;display:flex;flex-direction:column;align-items:center;gap:8px}.inventory-window{width:var(--inventory-width);display:flex;flex-direction:column;gap:8px}.inventory-context-block,.pack-grid{background:var(--surface);border-radius:var(--radius-panel);box-shadow:var(--panel-shadow);pointer-events:auto}.inventory-context-block,.pack-grid{display:flex;flex-direction:column;height:var(--panel-height);flex:none;overflow:hidden}.inventory-window .panel-top{height:var(--panel-header-height);min-height:var(--panel-header-height);padding:3px 8px;border:0;flex:none}.inventory-window .panel-top h1{font-size:11px}.inventory-window .icon-close{width:26px;height:26px}.panel-tools{display:flex;align-items:center;gap:5px;margin-left:auto}.inventory-context,.pack-slots{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#ffffff38 transparent;overscroll-behavior:contain}.inventory-context,.pack-slots{min-height:0;flex:1;padding:4px}.character-tabs{display:flex;align-self:stretch;gap:12px}.character-tabs button{font-size:11px;color:var(--muted);border-bottom:2px solid transparent}.character-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.character-tabs button:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.character-tab-content{height:100%}.inventory-window .equipment{display:grid;height:100%;place-content:center;gap:10px;padding:0;border:0;background:none}.inventory-window .equipment .slot-grid{grid-template-columns:repeat(3,var(--slot-width))}.equipment-protection{font-size:10px;color:var(--muted);text-align:center}.inventory-hud .action-area{width:var(--inventory-width)}.inventory-hud .quick-slots{pointer-events:auto}.inventory-hud.expanded.wide .inventory-window{flex-direction:row-reverse;width:100%}.inventory-hud.expanded.wide .inventory-context-block,.inventory-hud.expanded.wide .pack-grid{width:var(--inventory-width)}.inventory-open .hand-action,.inventory-open .touch-controls{display:none}@media (max-width: 740px) and (min-height: 551px),(max-width: 559px){.inventory-viewport{top:max(120px,env(safe-area-inset-top))}}@media (max-height: 550px){.inventory-viewport{bottom:max(13px,env(safe-area-inset-bottom))}}@media (min-width: 560px) and (max-height: 550px){.inventory-viewport{top:max(60px,env(safe-area-inset-top))}}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url("./roboto-mono-latin-400-normal-DHEUV3WG.woff2") format("woff2"),url("./roboto-mono-latin-400-normal-GEG7Y6WK.woff") format("woff")}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:500;src:url("./roboto-mono-latin-500-normal-7UWZR6OE.woff2") format("woff2"),url("./roboto-mono-latin-500-normal-T2GCQU2Q.woff") format("woff")}:root{font-family:Roboto Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:500;font-synthesis:none;color:var(--ink);background:var(--surface-inset);color-scheme:dark;--paper: #0e1115f5;--surface: #0e1115;--surface-inset: #090c10;--surface-floating: #101419fa;--surface-control: #1a2129;--surface-raised: #242d37;--control-border: #394653;--ink: #eef0f2;--soft: #c4cbd2;--muted: #a0a8b1;--faint: #727b85;--line: #ffffff0d;--accent: #9aaec2;--accent-fill: #9aaec21a;--accent-border: #9aaec24d;--hover: #ffffff0c;--radius-small: 4px;--radius-control: 8px;--radius-panel: 12px;--panel-shadow: 0 6px 20px #00000030;--floating-shadow: 0 3px 12px #00000024;--edge: 20px}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{color:inherit;background:none;border:0;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.4}:focus{outline:none}button:focus-visible{background-color:var(--hover)}h1,h2,h3,p{margin:0}strong,h1,h2,h3{font-weight:500}kbd{font:inherit;font-size:9px;line-height:1.3;background:#ffffff0f;border-radius:var(--radius-small);padding:2px 4px;color:var(--soft);white-space:nowrap}.app,.world{position:fixed;inset:0;overflow:hidden}.world canvas{display:block;width:100%;height:100%;outline:none;touch-action:none}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#00000015,transparent 16%,transparent 78%,#00000030)}.player-status{position:absolute;top:max(var(--edge),env(safe-area-inset-top));left:max(var(--edge),env(safe-area-inset-left));display:flex;flex-direction:column;align-items:flex-start;gap:10px;pointer-events:none;text-shadow:0 1px 4px #000c}.status-note{font-size:10px;color:#e4cfb4;max-width:240px}.hud-toolbar{position:absolute;top:max(var(--edge),env(safe-area-inset-top));right:max(var(--edge),env(safe-area-inset-right));display:flex;gap:4px;z-index:6}.hud-toolbar>button{position:relative;display:grid;place-items:center;width:42px;height:42px;background:var(--paper);border-radius:var(--radius-control);box-shadow:var(--panel-shadow);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--soft)}.hud-toolbar svg{width:21px;height:21px}.hud-toolbar>button:hover,.hud-toolbar>button:focus-visible,.hud-toolbar>button.active{background:var(--surface-raised);color:#fff}.toolbar-tooltip{position:absolute;right:0;top:calc(100% + 8px);display:none;width:max-content;padding:9px 10px;background:var(--surface);border-radius:var(--radius-control);box-shadow:var(--floating-shadow);font-size:11px;pointer-events:none;color:var(--ink)}.toolbar-tooltip kbd{margin-left:8px}.hud-toolbar>button:hover .toolbar-tooltip,.hud-toolbar>button:focus-visible .toolbar-tooltip{display:block}.side-panel{position:absolute;right:max(var(--edge),env(safe-area-inset-right));top:calc(max(var(--edge),env(safe-area-inset-top)) + 52px);width:320px;max-height:calc(100dvh - 168px);border-radius:var(--radius-panel);background:var(--paper);box-shadow:var(--panel-shadow);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;flex-direction:column;overflow:hidden;outline:none;z-index:5;animation:panel-arrive .12s ease-out}.panel-top{display:flex;justify-content:space-between;align-items:center;padding:0 16px;border-bottom:1px solid var(--line);min-height:49px;flex-shrink:0}.panel-top h1{font-size:14px}.panel-capacity{margin-left:10px;font-size:10px;color:var(--muted)}.icon-close{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;padding:0;border-radius:var(--radius-control);color:var(--muted)}.icon-close:hover{color:#fff;background:var(--hover)}.panel-content{overflow:auto;min-height:0;scrollbar-width:thin;scrollbar-color:#ffffff38 transparent;overscroll-behavior:contain;padding:0 16px 16px}.section-title{display:flex;align-items:center;justify-content:space-between;padding:15px 0 12px}.section-title h2{font-size:11px;color:var(--ink)}.section-title>span{font-size:10px;color:var(--muted)}.empty-note{color:var(--muted);font-weight:400;font-size:11px;line-height:1.8;padding:12px 0 20px}.equipment{border-top:1px solid var(--line);padding:0 16px 13px;flex-shrink:0;background:#00000016}.skills{padding-top:12px}.skill{padding:14px 0;border-bottom:1px solid var(--line)}.skill:first-child{padding-top:0}.skill:last-child{border:0}.skill>div:first-child{display:flex;justify-content:space-between;font-size:12px;margin-bottom:9px}.skill-level{color:var(--ink)}.progress-track{height:3px;background:#ffffff16;border-radius:var(--radius-small);overflow:hidden}.progress-track>span{height:100%;display:block;background:var(--accent)}.skill small{font-size:9px;font-weight:400;color:var(--muted);display:block;margin-top:7px}.action-area{display:flex;flex-direction:column;align-items:center}.hand-action{display:flex;flex-wrap:wrap;justify-content:center;max-width:100%;align-items:center;gap:10px;font-size:11px;margin-bottom:10px;padding:8px 12px;background:var(--paper);border-radius:var(--radius-control);box-shadow:var(--floating-shadow);pointer-events:none}.ground-detail{color:var(--muted)}.world-target{position:absolute;visibility:hidden;transform:translate(-50%,-100%);pointer-events:none;z-index:2}.target-card{position:relative;background:var(--paper);color:#fff;padding:10px 13px;border-radius:var(--radius-control);box-shadow:var(--floating-shadow);width:max-content;max-width:240px;min-width:106px}.target-card:after{content:"";position:absolute;top:100%;left:calc(var(--target-tail-x, 50%) - 4px);width:8px;height:8px;background:var(--paper);transform:translateY(-3px) rotate(45deg)}.target-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px}.target-heading>span{font-size:10px;color:#e0c6c0}.target-action{display:flex;align-items:center;gap:7px;margin-top:6px;font-size:10px;color:var(--soft)}.target-action kbd{background:var(--ink);color:var(--surface-inset);font-weight:500}.target-meter{display:block;height:4px;width:100%;min-width:72px;margin-top:7px;background:#ffffff20;border-radius:var(--radius-small);overflow:hidden}.target-meter>span{display:block;height:100%;background:var(--accent);transition:width .12s}.target-meter.vitality>span{background:#e89c87}.recovery{height:2px;margin-top:4px;width:calc(100% - 8px);opacity:0;pointer-events:none}.recovery.recovering{opacity:1;background:#0e1115a6}.recovery>span{display:block;height:100%;background:var(--ink);transform-origin:left;transition:transform .1s linear}.damage-flash{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 120px #ad413766;opacity:0;transition:opacity .18s}.damage-flash.visible{opacity:1}.modal-backdrop{position:absolute;inset:0;background:#090c1070;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);display:grid;place-items:center;z-index:10;padding:20px}.guide,.death-screen{width:460px;max-width:100%;max-height:90dvh;overflow:auto;background:var(--surface-floating);padding:6px 24px 24px;border-radius:var(--radius-panel);box-shadow:var(--panel-shadow)}.guide .section-title{padding:18px 0 22px}.guide .section-title h2{font-size:17px}.control-list{display:flex;flex-direction:column;gap:15px;margin:0 0 24px}.control-list>div{display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:10px;color:var(--soft)}.control-list kbd{background:none;padding:0;font-size:10px;color:#fff;flex-shrink:0}.control-list>div>span{text-align:right}.guide-note{font-size:10px;font-weight:400;line-height:1.8;color:var(--muted);padding-top:16px;border-top:1px solid var(--line)}.guide-settings{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-top:20px;font-size:9px;color:var(--muted)}.guide-settings button{padding:5px 0}.death-screen{width:360px;padding:28px;outline:none}.death-screen h2{font-size:24px}.death-screen p{font-size:11px;line-height:1.9;color:var(--muted);margin:18px 0 25px}.death-screen button{padding:12px 16px;background:var(--ink);color:var(--surface-inset);border-radius:var(--radius-control);font-size:11px}.connection-banner,.graphics-error{position:absolute;top:40%;left:50%;transform:translate(-50%);background:var(--paper);padding:20px 26px;border-radius:var(--radius-panel);box-shadow:var(--panel-shadow);max-width:90%;line-height:1.8;z-index:8}.graphics-error{z-index:20}.touch-controls{display:none}:root{--touch-controls-bottom: max(90px, calc(env(safe-area-inset-bottom) + 75px) )}@keyframes panel-arrive{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (pointer: coarse),(max-width: 760px){.touch-controls{display:flex;position:absolute;left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right));bottom:var(--touch-controls-bottom);align-items:center;justify-content:space-between;pointer-events:none;z-index:3}.move-pad{position:relative;width:86px;height:86px;border-radius:50%;box-shadow:var(--floating-shadow);display:grid;place-items:center;background:#090c10b3;pointer-events:auto;touch-action:none}.move-pad-directions{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#c4cbd280;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.move-pad-thumb{position:relative;width:40px;height:40px;border-radius:50%;background:#c4cbd2cf;pointer-events:none}.touch-actions{display:flex;align-items:center;gap:12px;pointer-events:auto}.touch-actions button{width:48px;height:48px;background:#090c10cc;border-radius:50%;box-shadow:var(--floating-shadow);font-size:10px;touch-action:none}.touch-actions .touch-use{width:58px;height:58px;background:var(--ink);color:var(--surface-inset)}.chat-open .touch-controls{display:none}.hud-toolbar>button{width:44px;height:44px}.hud-toolbar>button:hover .toolbar-tooltip{display:none}.icon-close{width:36px;height:36px}.target-action kbd{display:none}.hand-action{margin-bottom:7px}}@media (max-width: 760px){:root{--edge: 12px}.player-status{gap:8px}.status-note{max-width:150px;font-size:9px}.side-panel{top:calc(max(var(--edge),env(safe-area-inset-top)) + 64px);width:min(320px,calc(100vw - 24px));max-height:calc(100dvh - 304px)}.panel-top{min-height:45px}.panel-content,.equipment{padding:0 14px 12px}.target-card{padding:8px 10px;max-width:210px}.target-heading{font-size:11px}.hand-action kbd{display:none}}@media (max-height: 550px) and (max-width: 960px){:root{--edge: 10px}.side-panel{top:calc(max(var(--edge),env(safe-area-inset-top)) + 52px);max-height:calc(100dvh - 152px);width:300px}.equipment{padding-block:0 8px}.equipment .section-title{padding-block:9px}:root{--touch-controls-bottom: max(74px, calc(env(safe-area-inset-bottom) + 60px) )}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important}}@media (max-width: 360px){.hud-toolbar{gap:3px}.hud-toolbar>button{width:40px}}@media (max-width: 740px) and (min-height: 551px),(max-width: 559px){.hud-toolbar{top:calc(max(var(--edge),env(safe-area-inset-top)) + 58px)}.side-panel{top:calc(max(var(--edge),env(safe-area-inset-top)) + 110px);max-height:calc(100dvh - 350px)}.player-status{top:calc(max(var(--edge),env(safe-area-inset-top)) + 62px);max-width:calc(100vw - 270px)}.status-note{max-width:100%}}@media (max-width: 559px) and (max-height: 550px){.side-panel{max-height:calc(100dvh - 208px)}}
