:root{color:#f0efea;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface:#1b1e23;--raised:#293039;--line:#4d5862;--muted:#b4bec5;--accent:#f0d76e;--good:#a9d7bd;--bad:#f5a594;font-family:system-ui,-apple-system,sans-serif;font-size:14px}*{box-sizing:border-box}html,body{background:#d3e3e8;height:100%;margin:0;overflow:hidden}button{font:inherit;color:inherit;background:var(--raised);border:1px solid var(--line);cursor:pointer;padding:9px 14px}button:hover:not(:disabled){background:#3c4750;border-color:#a1afb9}button:disabled{color:#a0a9ae;cursor:default;opacity:.65}button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}h2,h3,p{margin-top:0}#view{cursor:crosshair;outline:none;width:100vw;height:100vh;display:block}#wash{opacity:0;pointer-events:none;z-index:1;position:fixed;inset:0}.eyebrow{color:var(--muted);letter-spacing:.1em;margin:0 0 4px;font-size:13px;display:block}#game-header{z-index:5;pointer-events:none;justify-content:space-between;align-items:start;gap:16px;display:flex;position:fixed;inset:20px 24px auto}.world-label{background:var(--surface);border-left:3px solid var(--accent);padding:10px 16px}.world-label strong{font-size:18px;font-weight:600}#game-header nav{pointer-events:auto;display:flex}#game-header nav button{background:var(--surface);padding:14px 18px}#game-header nav button+button{border-left:0}#game-header nav button[aria-expanded=true]{color:var(--accent);border-bottom:3px solid var(--accent);padding-bottom:12px}#debug{background:var(--surface);color:var(--muted);z-index:5;pointer-events:none;margin:0;padding:12px;position:fixed;top:86px;left:24px}#hud{background:var(--surface);border:1px solid var(--line);z-index:4;pointer-events:none;width:284px;position:fixed;bottom:24px;left:24px}.hud-vitals{padding:12px 16px}.hud-health{align-items:baseline;gap:5px;display:flex}.hud-health>span{color:var(--muted);margin-right:auto}.hud-health strong{font-size:24px;font-weight:600}.hud-health small{color:var(--muted);font-size:13px}.health-meter{background:#3c4750;height:5px;margin-top:8px}.health-meter i{background:var(--good);height:100%;display:block}.low-health .hud-health strong{color:var(--bad)}.low-health .health-meter i{background:var(--bad)}.hud-resources{border-top:1px solid var(--line);display:flex}.hud-resources>div{flex:1;padding:10px 16px}.hud-resources>div+div{border-left:1px solid var(--line)}.hud-resources span{color:var(--muted);margin-bottom:2px;font-size:13px;display:block}.hud-resources strong{font-size:18px;font-weight:600}.hud-resources small{color:var(--muted);font-size:13px;font-weight:400}.ammo-reserve{margin-top:4px;display:block}.hud-status{color:var(--good);flex-wrap:wrap;gap:4px 12px;font-size:13px;display:flex}.hud-status:not(:empty){margin-top:10px}.hud-effects{color:var(--good);border-top:1px solid var(--line);margin:0;padding:8px 16px;font-size:13px}#status,#notice,#toast,#prompt{border:1px solid var(--line);background:var(--surface);text-align:center;max-width:calc(100vw - 32px);margin:0;padding:12px 18px;position:fixed}#status{z-index:40;top:50%;left:50%;transform:translate(-50%,-50%)}#notice{z-index:35;top:84px;left:50%;transform:translate(-50%)}#toast{z-index:35;top:140px;left:50%;transform:translate(-50%)}#prompt{z-index:4;bottom:114px;left:50%;transform:translate(-50%)}#prompt progress{width:100%;height:5px;accent-color:var(--accent);margin-top:8px;display:block}#bar{z-index:4;gap:6px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.slot{background:var(--raised);border:1px solid var(--line);flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;height:88px;padding:20px 5px 6px;display:flex;position:relative}.slot img{object-fit:contain;pointer-events:none;width:36px;height:36px}.slot>i{width:32px;height:32px;display:block}.slot.dragging{opacity:.4}.slot.selected,.slot[aria-pressed=true]{border-color:var(--accent);background:#3a3b32}.slot-key,.slot-count{color:var(--muted);font-size:13px;line-height:1;position:absolute;top:4px}.slot-key{left:5px}.slot-count{color:#f0efea;right:5px}.slot-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;overflow:hidden}.slot-empty{color:var(--muted);font-size:13px}#bar .slot{background:var(--surface);width:76px;height:76px}#bar .slot img{width:30px;height:30px}#ghost{z-index:50;pointer-events:none;background:var(--surface);border:1px solid var(--accent);padding:10px;position:fixed}#ghost img{width:40px;height:40px}.panel{z-index:10;background:var(--surface);border:1px solid var(--line);flex-direction:column;width:min(1000px,100vw - 48px);max-height:calc(100dvh - 280px);display:flex;position:fixed;top:88px;left:50%;overflow:hidden;transform:translate(-50%)}.workspace-header,.workspace-tabs,.workspace-footer{flex-shrink:0}.inventory-layout,.crafting-layout{min-height:0;overflow:hidden}.inventory-main,.inventory-inspector,.recipe-list,.recipe{overflow:auto}.workspace-header{justify-content:space-between;align-items:start;gap:24px;padding:20px 24px 16px;display:flex}.workspace-header h2{margin:0 0 6px;font-size:24px;font-weight:600;line-height:1.2}.workspace-header p{color:var(--muted);margin:0;line-height:1.5}.workspace-close,.panel-close{background:0 0}.workspace-tabs{border-bottom:1px solid var(--line);gap:24px;padding:0 24px;display:flex}.workspace-tabs button{color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;padding:12px 0}.workspace-tabs button[aria-pressed=true]{color:var(--accent);border-bottom-color:var(--accent)}.inventory-layout{grid-template-columns:minmax(0,1fr) 320px;display:grid}.inventory-main{min-width:0;padding:22px 24px}.inventory-inspector{border-left:1px solid var(--line);background:#22272d;padding:22px}.section-label{color:var(--muted);margin:0 0 10px;font-size:13px;font-weight:600}.equipment,.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px;display:grid}.equipment .slot,.quick-grid .slot{height:76px}.equipment .slot img,.quick-grid .slot img{width:30px;height:30px}.item-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.capacity{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;margin:0 0 10px;font-size:13px;display:flex}.capacity meter,.capacity progress{width:100%;height:5px;accent-color:var(--accent)}.capacity>div:nth-child(2){text-align:right}.capacity strong{color:#f0efea;margin-top:6px;font-size:14px;font-weight:500;display:block}.meter{background:#3c4750;height:5px}.meter>i{background:var(--accent);height:100%;display:block}.capacity>.meter{flex:0 0 100%;margin:4px 0}.health-meter>i{background:var(--good)}#prompt .meter{margin-top:10px}.quality{margin:22px 0 10px}.quality+.meter{margin-bottom:20px}.card h3{margin:0 0 10px;font-size:18px;font-weight:600}.card p{color:var(--muted);font-size:14px;line-height:1.6}.item-preview{background:var(--surface);border:1px solid var(--line);justify-content:center;align-items:center;height:104px;margin-bottom:18px;display:flex}.item-preview img{width:84px;height:84px}.item-preview>i{width:60px;height:60px;display:block}.item-facts{margin:18px 0;font-size:13px}.item-facts>div{justify-content:space-between;gap:16px;padding:6px 0;display:flex}.item-facts dt{color:var(--muted)}.item-facts dd{text-align:right;margin:0}.item-actions{flex-wrap:wrap;gap:8px;margin:18px 0;display:flex}.item-actions button{flex:auto}.item-actions button:first-child{border-color:var(--accent)}details{color:var(--muted);font-size:13px;line-height:1.6}summary{cursor:pointer;color:#f0efea}.provenance{border-top:1px solid var(--line);padding-top:14px}.provenance p{margin:10px 0 0;font-size:13px}.workspace-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:baseline;gap:24px;padding:14px 24px;font-size:13px;display:flex}.workspace-footer p{margin:0}.item-help{max-width:650px}.crafting-layout{grid-template-columns:260px minmax(0,1fr);display:grid}.recipe-list{border-right:1px solid var(--line);padding:22px}.recipes{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.recipes button{text-align:left;flex-wrap:wrap;align-items:center;gap:8px;width:100%;padding:10px;display:flex}.recipes img{width:36px;height:36px}.recipes button>i{flex:0 0 36px;width:36px;height:36px;display:block}.recipe h3>i{flex:0 0 48px;width:48px;height:48px;display:block}.recipes small{color:var(--muted);font-size:13px}.recipes .chosen button,.recipes button[aria-pressed=true]{border-color:var(--accent);background:#3a3b32}.recipes .can small{color:var(--good)}.recipe{padding:24px}.recipe h3{align-items:center;gap:12px;margin:0 0 18px;font-size:22px;font-weight:600;display:flex}.recipe h3 img{width:48px;height:48px}.recipe p{color:var(--muted);line-height:1.6}.ingredients{border-collapse:collapse;width:100%}.ingredients caption{text-align:left;color:var(--muted);margin-bottom:8px;font-size:13px}.ingredients th{text-align:left;color:var(--muted);font-size:13px;font-weight:500}.ingredients td,.ingredients th{border-bottom:1px solid var(--line);padding:10px 8px}.ingredients td:last-child,.ingredients th:last-child{text-align:right}.ingredients .missing td:last-child,.missing{color:var(--bad)}.ingredients .enough td:last-child{color:var(--good)}.ingredients .short td:last-child,.missing-materials{color:var(--bad)}.step{flex-direction:column;align-items:start;gap:8px;margin-top:24px;display:flex}[data-tuning]{text-align:left;justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}[data-tuning] small{color:var(--muted);font-size:13px}[data-assemble]{background:var(--accent);border-color:var(--accent);color:var(--surface);padding:12px 24px;font-weight:600}[data-assemble]:disabled{background:var(--raised);border-color:var(--line);color:var(--muted)}[data-back]{background:0 0}.wardrobe-strip{border:1px solid var(--line);background:#22272d;grid-template-columns:92px minmax(0,1fr);gap:14px;margin-bottom:20px;padding:14px;display:grid}.wardrobe-strip h3{margin:0 0 5px;font-size:15px}.wardrobe-strip p{color:var(--muted);margin:0 0 8px;font-size:13px;line-height:1.5}.wardrobe-strip button:not(.slot){padding:6px 10px;font-size:13px}.clothing-preview{border:1px solid var(--line);background:#171e26;width:100%;height:225px;margin:0 0 18px;overflow:hidden}.clothing-preview canvas{touch-action:none;width:100%;height:100%;display:block}.inventory-inspector .clothing-preview{z-index:1;position:sticky;top:0}.recipe-preview{height:250px}.dye-editor{border-bottom:1px solid var(--line);margin-top:16px;padding-bottom:18px}.garment-current span,.garment-current strong{display:block}.garment-current span{color:var(--muted);font-size:12px}.garment-current strong{color:#f0efea;font-size:13px;font-weight:500}.card .preview-state{color:var(--accent);font-size:13px}.dye-group{margin:12px 0}.dye-group summary{padding:6px 0}.dye-choices{flex-direction:column;gap:5px;max-height:196px;margin:0 -4px;padding:4px;display:flex;overflow:auto}.dye-choice{text-align:left;align-items:center;gap:10px;width:100%;padding:8px;display:flex}.dye-choice>span{min-width:0;font-size:13px}.dye-choice small{color:var(--muted);margin-top:2px;font-size:12px;display:block}.dye-choice[aria-pressed=true]{border-color:var(--accent);background:#3a3b32}.dye-swatch{border:1px solid #ffffff36;border-radius:3px;flex:0 0 36px;width:36px;height:36px;display:block}.palette-swatch{background:linear-gradient(135deg, var(--dye-a) 0 50%, var(--dye-b) 50% 80%, var(--dye-c) 80%)}.finish-swatch{background-color:#586477;background-image:repeating-linear-gradient(135deg,#0000 0 6px,#e7dab9 6px 10px)}.finish-checkerboard{background-image:conic-gradient(#e7dab9 25%, #354355 0 50%, #e7dab9 0 75%, #354355 0);background-size:16px 16px}.finish-zebra{background-image:repeating-linear-gradient(120deg,#e9e2d7 0 3px,#263347 4px 8px,#e9e2d7 9px 11px)}.finish-tiger{background-image:repeating-linear-gradient(68deg,#f2a854 0 7px,#273143 8px 11px,#e5ba79 12px 14px)}.finish-leopard{background-color:#d8b578;background-image:radial-gradient(#d8b578 0 20%,#3a3242 22% 35%,#0000 37%);background-size:15px 12px}.finish-polka{background-color:#53637b;background-image:radial-gradient(circle,#e7dab9 0 30%,#0000 32%);background-size:13px 13px}.finish-patchwork{background-image:conic-gradient(#b77b8b 25%, #d2b47a 0 50%, #566b8b 0 75%, #809b8b 0);background-size:23px 17px}.finish-topographic{background-image:repeating-radial-gradient(at 20% 70%,#475b6c 0 3px,#dacda3 4px 5px,#475b6c 6px 10px)}.finish-starlight{background-color:#28354c;background-image:radial-gradient(circle at 20% 30%,#fff7d9 0 1px,#0000 2px),radial-gradient(circle at 70% 65%,#e8d9a7 0 2px,#0000 3px);background-size:21px 23px}.finish-metallic{background-image:linear-gradient(120deg,#607382,#d4ddd8 42%,#eff0d9 48%,#7b8e95 56%,#a6b7bc)}.finish-iridescent{background-image:conic-gradient(from 30deg,#b4dce0,#dbbddc,#e9dfbc,#b4dce0)}.finish-holographic{background-image:repeating-linear-gradient(0deg,#fff3 0 1px,#0000 2px 4px),linear-gradient(120deg,#6dbabb,#c87ccc,#dfb18f)}.finish-glowing-circuit{background-color:#243a3f;background-image:linear-gradient(90deg,#0000 45%,#73e6bc 46% 52%,#0000 53%),linear-gradient(#0000 47%,#73e6bc 48% 54%,#0000 55%);background-size:17px 13px}.finish-lava{background-image:repeating-conic-gradient(from 45deg, #f5a548 0 3deg, #453847 4deg 84deg, #d36346 85deg 90deg)}.finish-ice{background-image:conic-gradient(from 15deg,#ddebf2,#8faecb,#c9dfe9,#e5f4f4,#91bfd0,#ddebf2)}.finish-oilspill{background-image:repeating-radial-gradient(at 0 100%,#384559 0 3px,#6a9888 4px 6px,#a481ad 7px 9px,#8180aa 10px 12px)}.item-preview>.dye-swatch{flex-basis:72px;width:72px;height:72px}.apply-dye{background:var(--accent);border-color:var(--accent);width:100%;color:var(--surface);text-align:center;font-weight:600}.apply-dye:disabled{background:var(--raised);color:var(--muted);border-color:var(--line)}.card .dye-cost,.card .dye-empty{margin:8px 0;font-size:12px;line-height:1.5}.text-action{background:0 0;padding:5px 8px;font-size:13px}.craft-filters{border-bottom:1px solid var(--line);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;display:flex}.craft-filters nav{flex-wrap:wrap;gap:5px;display:flex}.craft-filters button{padding:7px 10px;font-size:13px}.craft-filters button[aria-pressed=true]{color:var(--accent);border-color:var(--accent);background:#3a3b32}.craft-filters label{color:var(--muted);align-items:center;gap:10px;font-size:13px;display:flex}.craft-filters input{border:1px solid var(--line);width:180px;min-width:100px;font:inherit;color:#f0efea;background:var(--surface);padding:8px 10px}.craft-filters input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.recipe-empty{color:var(--muted);line-height:1.5}.harvest-overlay{z-index:5;pointer-events:none;position:fixed;inset:0}.harvest-reticle{fill:none;filter:drop-shadow(0 1px 2px #071014);width:100%;height:100%;overflow:visible}.harvest-bounds{stroke:#e1e9e7;stroke-width:1.5px;stroke-dasharray:5 4;fill:#0c191e1f}.harvest-weakpoint{stroke:#e5f7f4;stroke-width:2.5px;fill:#0c191eb3}.harvest-guide{stroke:#d8efec;stroke-width:1.5px;opacity:.85}.harvest-pulse{stroke:#88c9ca;stroke-width:2px;opacity:.8}.harvest-centre{fill:#e5f7f4}.is-window .harvest-weakpoint{stroke:#ffe28a;stroke-width:3px;fill:#ffe28a5c}.is-window .harvest-pulse{opacity:0}.is-window .harvest-guide{stroke:#ffe28a;stroke-width:2px}.is-window .harvest-centre{fill:#ffe28a}.is-cooling .harvest-bounds{opacity:.5}.harvest-cue{color:#def5f0;letter-spacing:.09em;text-align:center;text-transform:uppercase;background:#14232b;border:1px solid #88c9ca;width:96px;padding:5px 8px 8px;font-size:11px;font-weight:700;position:absolute;transform:translate(-50%)}.harvest-cue-meter{transform-origin:0;background:#88c9ca;height:3px;position:absolute;inset:auto 0 0}.is-window .harvest-cue{color:#182024;background:#ffe28a;border-color:#ffe28a}.is-window .harvest-cue-meter{background:#927328}.harvest-swing{stroke:#e9f5f2;stroke-width:2.5px;stroke-linecap:round;animation:.2s ease-out both harvest-fade}.harvest-swing-arc{stroke-width:4px;opacity:.7}.harvest-swing>*{transform-box:fill-box;transform-origin:50%;animation:.2s ease-out both harvest-swing}.harvest-burst{stroke:#ffe28a;stroke-width:3px;stroke-linecap:round;animation:.45s ease-out both harvest-fade}.harvest-burst>*{transform-box:fill-box;transform-origin:50%;animation:.45s cubic-bezier(.1,.7,.3,1) both harvest-burst}.harvest-burst circle{stroke-width:1.5px}.harvest-burst[data-chain="3"]{stroke:#fff4cf;stroke-width:4px}@keyframes harvest-fade{0%,20%{opacity:1}to{opacity:0}}@keyframes harvest-swing{0%{transform:scale(.65)rotate(-12deg)}to{transform:scale(1.2)rotate(8deg)}}@keyframes harvest-burst{0%{transform:scale(.45)}to{transform:scale(1.4)}}.harvest-feedback{color:#f0efea;background:#1b1e23;border:1px solid #647078;max-width:min(270px,100vw - 24px);padding:8px 10px;font-size:13px;line-height:1.5;position:absolute}.harvest-feedback:empty{display:none}.harvest-feedback[data-outcome="2"]{color:#ffe28a;border-color:#ffe28a;font-size:15px;font-weight:700}.harvest-feedback[data-chain="3"]{color:#fff4cf;background:#35301f;border-left-width:4px}@media (prefers-reduced-motion:reduce){.harvest-swing,.harvest-swing>*,.harvest-burst,.harvest-burst>*{animation:none}.harvest-swing-arc{display:none}}#pickups{z-index:8;pointer-events:none;flex-direction:column;gap:8px;width:min(280px,100vw - 48px);display:flex;position:fixed;bottom:132px;right:24px}#pickups[hidden],.harvest-overlay[hidden]{display:none}.pickup-row{color:#f0efea;background:#1b1e23;border:1px solid #3c4750;border-left:3px solid #73c7ac;align-items:center;gap:12px;padding:10px 12px;display:flex}.pickup-row img,.pickup-swatch{flex:0 0 32px;width:32px;height:32px}.pickup-copy{min-width:0}.pickup-copy strong{overflow-wrap:anywhere;font-size:14px;line-height:1.35;display:block}.pickup-total{color:#bcc4ca;margin-top:3px;font-size:13px;display:block}.controls-dialog{background:var(--surface);color:#f0efea;border:1px solid var(--line);width:min(780px,100vw - 40px);max-height:calc(100dvh - 48px);padding:0;overflow:auto}.controls-dialog::backdrop{background:#080c10a6}.controls-header{justify-content:space-between;align-items:start;gap:24px;padding:22px 24px 12px;display:flex}.controls-header h2{margin:0;font-size:24px;font-weight:600}.controls-intro{color:var(--muted);margin:0;padding:0 24px 18px;font-size:14px;line-height:1.6}.controls-status{border-left:2px solid var(--good);color:var(--good);margin:0 24px 12px;padding-left:12px;font-size:13px;line-height:1.5}.controls-list{padding:4px 24px 24px}.controls-group{margin-top:22px}.controls-group h3{color:var(--accent);letter-spacing:.06em;margin-bottom:10px;font-size:13px}.controls-row{border-bottom:1px solid #343e47;grid-template-columns:minmax(140px,1fr) 340px;align-items:center;gap:18px;padding:8px 0;display:grid}.control-bindings{gap:10px;display:flex}.control-binding-pair{flex:1;min-width:0;display:flex}.control-binding{flex:1;min-width:0;padding:8px;font-size:13px}.control-binding.unbound{color:var(--muted);background:0 0}.control-clear{background:0 0;border-left:0;min-width:28px;padding:8px 5px}.binding-capture,.binding-conflict{border:1px solid var(--accent);margin:12px 24px;padding:16px;line-height:1.6}.binding-capture button,.binding-conflict button{margin:8px 8px 0 0}.binding-capture p,.binding-conflict p{margin-bottom:8px}.controls-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.controls-footer span{color:var(--muted);font-size:13px;line-height:1.5}.gate-dialog{background:var(--surface);color:#f0efea;border:1px solid var(--line);width:min(1000px,100vw - 40px);max-height:calc(100dvh - 40px);padding:0}.gate-dialog[open]{flex-direction:column;display:flex}.gate-dialog::backdrop{background:#080c10a6}.gate-header{flex-shrink:0;justify-content:space-between;align-items:start;gap:20px;padding:20px 24px 8px;display:flex}.gate-header h2{margin:0;font-size:24px;font-weight:600}.gate-header button{background:0 0}.gate-intro{color:var(--muted);flex-shrink:0;margin:0;padding:0 24px 18px;line-height:1.5}.gate-layout{border-top:1px solid var(--line);grid-template-columns:310px minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.gate-layout h3{margin:0;font-size:15px;font-weight:600}.gate-book-section{border-right:1px solid var(--line);flex-direction:column;min-height:0;padding:20px;display:flex}.gate-help{color:var(--muted);margin:8px 0 14px;font-size:13px;line-height:1.5}.gate-codebook{flex-direction:column;gap:8px;min-height:0;padding:2px;display:flex;overflow-y:auto}.gate-codebook>button{text-align:left;background:#222a31;flex-shrink:0;padding:11px 12px}.gate-codebook>button[aria-pressed=true]{border-color:var(--accent);background:#36372e}.gate-book-title{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.gate-book-title strong{font-size:14px}.gate-book-title small{color:var(--muted);font-size:11px}.gate-book-about{color:var(--muted);margin:4px 0 9px;font-size:12px;display:block}.gate-book-glyphs{align-items:center;gap:7px;display:flex}.gate-book-glyphs>span{justify-items:center;gap:2px;display:grid}.gate-book-glyphs svg{fill:currentColor;width:17px;height:17px}.gate-book-glyphs small{color:var(--muted);font-size:10px;line-height:1}.gate-book-glyphs .site-start{margin-left:7px}.gate-dial{min-width:0;padding:20px 24px;overflow-y:auto}.gate-code-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.gate-count{color:var(--muted);font-size:13px}.gate-code{border-radius:2px;grid-template-columns:3fr 5fr;gap:14px;margin-top:14px;display:grid}.gate-code>div{min-width:0}.gate-code>div>small{color:var(--muted);margin-bottom:6px;font-size:12px;display:block}.gate-code-part{gap:5px;display:flex}.gate-slot{aspect-ratio:1;background:#141a20;border:1px solid #647078;flex:1;justify-content:center;align-items:center;min-width:0;display:flex;position:relative}.gate-slot.filled{color:#f0d76e;border-color:#b9a96d}.gate-slot svg{fill:currentColor;width:72%;height:72%}.gate-slot small{color:#d8cfad;font-size:10px;line-height:1;position:absolute;bottom:2px;right:3px}.gate-edit{gap:8px;margin:10px 0 16px;display:flex}.gate-edit button{background:0 0;padding:6px 10px;font-size:12px}.gate-glyph-keys{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.gate-glyph-keys button{flex-direction:column;align-items:center;gap:5px;min-width:0;padding:12px 4px 9px;display:flex;position:relative}.gate-glyph-keys kbd{font:inherit;color:var(--muted);font-size:12px;position:absolute;top:6px;left:7px}.gate-glyph-keys svg{fill:currentColor;width:38px;height:38px}.gate-glyph-keys span{font-size:12px}.gate-preview{background:#141a20;border-left:2px solid #647078;flex-direction:column;justify-content:center;gap:4px;min-height:68px;margin:14px 0 10px;padding:10px 12px;display:flex}.gate-preview strong{font-size:16px}.gate-preview span{color:var(--muted);font-size:13px;line-height:1.45}.gate-commit{background:var(--accent);border-color:var(--accent);color:#1b1e23;width:100%;padding:12px 18px;font-weight:700}.gate-commit:hover:not(:disabled){background:#ffe796;border-color:#ffe796}.gate-commit:disabled{color:#b4bec5;background:#293039;border-color:#4d5862}.gate-result{color:#f0d3ac;margin:12px 0 0;font-size:13px;line-height:1.55}.gate-result:empty{display:none}.gate-result[data-status="0"],.gate-result[data-status="3"]{color:var(--good)}.gate-footer{border-top:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.gate-footer strong{color:#d7dfe2;font-size:12px;font-weight:500;display:block}.gate-footer small{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.5;display:block}.gate-footer-actions{flex-shrink:0;gap:8px;display:flex}.gate-footer-actions button{font-size:12px}.gate-connection{color:var(--good);font-variant-numeric:tabular-nums;margin-top:6px;font-size:12px;display:block}.gate-connection:empty{display:none}@media (max-width:700px){.gate-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.gate-header{padding:16px 16px 8px}.gate-header h2{font-size:21px}.gate-intro{padding:0 16px 14px;font-size:13px}.gate-layout{flex-direction:column;display:flex;overflow-y:auto}.gate-dial{order:-1;padding:16px;overflow:visible}.gate-book-section{border-right:0;border-top:1px solid var(--line);min-height:300px;padding:16px}.gate-codebook{max-height:320px}.gate-glyph-keys{gap:6px}.gate-glyph-keys svg{width:32px;height:32px}.gate-code{gap:10px}.gate-code-part{gap:3px}.gate-footer{flex-wrap:wrap;gap:10px;padding:12px 16px}.gate-footer-actions{justify-content:end;width:100%}}@media (max-width:1050px){.panel{width:calc(100vw - 32px)}.inventory-layout{grid-template-columns:minmax(0,1fr) 290px}.item-grid{grid-template-columns:repeat(4,minmax(0,1fr))}#hud{width:238px}}@media (min-width:701px) and (max-width:900px){#bar{left:auto;right:24px;transform:none}}@media (max-height:740px){#game-header{top:12px}.world-label{padding-top:7px;padding-bottom:7px}.panel{max-height:calc(100dvh - 250px);top:72px}.workspace-header{padding-top:14px;padding-bottom:12px}.workspace-header h2{font-size:21px}.workspace-header p{display:none}.workspace-header h2{margin-bottom:0}.inventory-main,.inventory-inspector,.recipe-list,.recipe{padding-top:14px;padding-bottom:14px}.inventory-main .slot{height:70px}.inventory-main .slot img{width:24px;height:24px}.equipment,.quick-grid{margin-bottom:14px}#hud,#bar{bottom:12px}#bar .slot{height:64px}#bar .slot img{width:22px;height:22px}}@media (max-width:700px){#pickups{right:12px;bottom:calc(var(--hud-height,156px) + var(--prompt-height,64px) + 36px);width:min(280px,100vw - 24px)}#game-header{gap:8px;inset:12px 12px auto}.world-label{padding:10px}.world-label .eyebrow{display:none}.world-label strong{font-size:14px}#game-header nav button{padding:10px;font-size:13px}#game-header nav button[aria-expanded=true]{padding-bottom:8px}.panel{width:calc(100vw - 24px);max-height:calc(100dvh - 252px);top:70px}.workspace-header,.inventory-main,.inventory-inspector,.recipe,.recipe-list{padding:16px}.workspace-header h2{font-size:21px}.inventory-layout,.crafting-layout{grid-template-columns:minmax(0,1fr);overflow:auto}.inventory-main,.inventory-inspector,.recipe-list,.recipe{overflow:visible}.inventory-inspector{border-left:0;border-top:1px solid var(--line)}.item-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.equipment{grid-template-columns:repeat(2,minmax(0,1fr))}.recipes{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.recipe-list{border-right:0;border-bottom:1px solid var(--line)}.craft-filters{padding:12px 16px}.craft-filters label,.craft-filters input{width:100%}.craft-filters label>span{flex-shrink:0}.recipe-preview{height:220px}.workspace-footer{flex-direction:column;align-items:start;gap:8px;padding:14px 16px}#hud{width:160px;bottom:12px;left:12px}.hud-vitals{padding:8px 10px}.hud-health strong{font-size:20px}.hud-resources>div{padding:8px 10px}#bar{gap:4px;bottom:12px;left:auto;right:12px;transform:none}#bar .slot{width:48px;height:66px}#bar .slot-name{display:none}#bar .slot img{width:30px;height:30px}#prompt{bottom:calc(var(--hud-height,156px) + 24px);width:max-content}.controls-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.controls-header{padding:16px}.controls-row{grid-template-columns:1fr;gap:8px;padding:12px 0}.control-bindings{width:100%}.controls-footer{flex-wrap:wrap}.controls-footer span{flex:1;min-width:120px}}#chat{left:24px;bottom:calc(var(--hud-height,156px) + 36px);z-index:9;pointer-events:none;width:min(340px,100vw - 48px);font-size:13px;position:fixed}#chat>*{pointer-events:auto}.chat-toolbar{align-items:center;gap:10px;display:flex}#open-chat{background:var(--surface);min-height:36px;padding:8px 13px}#chat-log{overscroll-behavior:contain;border:1px solid var(--line);scrollbar-width:thin;background:#1b1e23eb;max-height:150px;margin-bottom:6px;padding:8px 10px;transition:opacity 1s;overflow:auto}#chat:not(.is-open) #chat-log{pointer-events:none;max-height:112px}#chat:not(.is-open) .chat-message:nth-last-child(n+4){display:none}#chat.is-idle:not(.is-open) #chat-log{opacity:0}.chat-message+.chat-message{border-top:1px solid #4d586266;margin-top:9px;padding-top:7px}.chat-message-meta{flex-wrap:wrap;align-items:baseline;gap:7px;line-height:1.3;display:flex}.chat-channel{color:var(--accent)}.chat-sender{color:#f0efea;overflow-wrap:anywhere;font-weight:600}.chat-world{color:var(--muted);margin-left:auto}.chat-text{overflow-wrap:anywhere;white-space:pre-wrap;margin-top:2px;line-height:1.4}#chat-composer{background:var(--surface);border:1px solid var(--line);margin-top:6px;padding:10px}.chat-channel-row{align-items:center;gap:7px;margin-bottom:9px;display:flex}.chat-channel-row>label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}#chat-channel{border:1px solid var(--line);background:var(--raised);color:inherit;font:inherit;padding:5px}#chat-range{color:var(--muted);font-size:12px}#chat-close{margin-left:auto;padding:5px 7px}.chat-input-label{margin-bottom:4px;display:block}.chat-entry{gap:6px;display:flex}#chat-input{min-width:0;font:inherit;color:inherit;border:1px solid var(--line);background:#11161d;flex:1;padding:9px;font-size:16px}#chat-input:focus{outline:2px solid var(--accent);outline-offset:1px}#chat-send{padding:8px 10px}.chat-compose-footer{color:var(--muted);justify-content:space-between;gap:8px;margin-top:7px;font-size:12px;display:flex}#chat-count.is-over-limit{color:var(--bad)}#chat-status{background:var(--surface);border:1px solid var(--line);color:var(--bad);margin:6px 0 0;padding:8px 10px;line-height:1.4}.chat-open #game-header nav{opacity:.55}@media (max-width:900px){#chat{width:min(300px,100vw - 48px)}}@media (max-width:700px){#chat{width:calc(100vw - 24px);left:12px;bottom:calc(var(--hud-height,156px) + 24px)}#chat-log{max-height:min(150px,20dvh)}#chat:not(.is-open) #chat-log{max-height:86px}.chat-ready #prompt{bottom:calc(var(--hud-height,156px) + var(--chat-height,36px) + 36px)}.chat-ready #pickups{bottom:calc(var(--hud-height,156px) + var(--chat-height,36px) + var(--prompt-height,64px) + 48px)}.chat-open #prompt{display:none}}@media (max-height:600px){#chat.is-open{bottom:12px}#chat.is-open #chat-log{max-height:18dvh}.chat-open #hud,.chat-open #bar{visibility:hidden}}@media (prefers-reduced-motion:reduce){#chat-log{transition:none}}#enemy-health{z-index:3;pointer-events:none;position:fixed;inset:0}.enemy-health-label{color:#f4f3ef;background:#171c23ee;border:1px solid #74808b;border-radius:4px;width:120px;padding:6px 8px 7px;position:absolute;transform:translate(-50%,-100%);box-shadow:0 2px 8px #0007}.enemy-health-heading{justify-content:space-between;align-items:baseline;gap:8px;font-size:12px;font-weight:600;line-height:16px;display:flex}.enemy-health-level{color:#f0d76e;white-space:nowrap;font-size:11px}.enemy-health-meter{background:#454c54;border-radius:1px;height:5px;margin-top:4px;overflow:hidden}.enemy-health-meter i{transform-origin:0;background:#f1aa83;width:100%;height:100%;transition:transform .1s ease-out;display:block}.enemy-health-label.is-low .enemy-health-meter i{background:#ff796e}.enemy-health-label.is-defeated{border-color:#8f9c8a}.enemy-health-result{color:#c4dabb;margin-top:1px;font-size:11px;display:block}@media (max-width:700px){.enemy-health-label{width:112px;padding:5px 7px 6px}}@media (prefers-reduced-motion:reduce){.enemy-health-meter i{transition:none}}#player-progress{border-bottom:1px solid var(--line);padding:8px 16px 10px}.player-progress-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 8px;line-height:1.3;display:flex}#player-level{color:var(--accent);font-size:13px;font-weight:600}#player-xp{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.player-xp-meter{background:#3c4750;height:3px;margin-top:6px}.player-xp-meter>i{background:var(--accent);height:100%;display:block}.player-level-notice{color:var(--accent);font-size:12px;line-height:1.4;display:block}.player-level-notice:not(:empty){margin-top:6px}.player-discovery-notice{color:var(--good);overflow-wrap:anywhere;font-size:12px;line-height:1.4;display:block}.player-discovery-notice:not(:empty){margin-top:6px}#player-progress.level-up{animation:1.3s ease-out player-level-flash}@keyframes player-level-flash{0%{background:#f0d76e38}to{background:0 0}}@media (max-width:700px){#player-progress{padding:7px 10px 8px}#player-xp{font-size:11px}}@media (prefers-reduced-motion:reduce){#player-progress.level-up{animation:none}}
