:root{color-scheme:dark;--ink:#e9eee6;--muted:#adb8b7;--mint:#b9f1c7;--dark:#132327;--line:#ffffff25;--orange:#efb18d}*{box-sizing:border-box}body{margin:0;background:#18282d;color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow:hidden}#world{display:block;width:100vw;height:100vh}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);color:var(--ink);background:#23383ee8;padding:10px 14px;border-radius:4px}button:hover{background:#3f5c60}button:disabled{opacity:.45;cursor:not-allowed}input,select{width:100%;padding:11px;margin:6px 0 15px;background:#0e2025;border:1px solid #70827d;color:white;border-radius:3px}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--mint);outline-offset:3px}.hidden{display:none!important}small,.eyebrow,label{font-size:10px;letter-spacing:2px;font-weight:700}h1,h2,h3,p{margin-top:0}h2{font-size:24px;font-weight:500;line-height:1.2}h3{font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--orange)}header{position:absolute;left:28px;right:28px;top:24px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand b{display:block;font-size:22px;letter-spacing:5px}.brand small{font-size:8px}.mark{font-size:40px;color:var(--mint)}.topright{display:flex;align-items:center;gap:20px;font-size:10px;letter-spacing:1px}kbd{border:1px solid #ffffff40;border-radius:3px;padding:2px 5px;font-size:10px;color:#e7efe8}#mission{position:absolute;left:28px;top:112px;width:260px;padding:18px;border-left:2px solid var(--mint);background:linear-gradient(90deg,#17282cdf,#17282c55)}#mission h2{margin:9px 0;font-size:21px}#mission p{font-size:12px;color:#d5d9cf}#steps{font-size:11px;line-height:1.9;color:#d3dbd3}.done{color:var(--mint)}#compass{position:absolute;top:106px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;text-align:center;text-shadow:0 2px 5px #000;font-size:10px;letter-spacing:2px}#compass b{font-size:15px;letter-spacing:.5px}#reticle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:.65;font-size:20px}#interaction{position:absolute;bottom:205px;left:50%;transform:translateX(-50%);background:#142529df;border:1px solid var(--line);padding:9px 20px;text-align:center;white-space:nowrap;min-height:0}#interaction:empty{display:none}#toast{position:absolute;top:max(12px,env(safe-area-inset-top));z-index:5;left:50%;transform:translateX(-50%);background:#122c30ec;border:1px solid var(--mint);padding:12px 22px;max-width:480px;text-align:center;opacity:0;transition:opacity .15s;pointer-events:none}#toast.show{opacity:1}#bottom{position:absolute;bottom:52px;left:28px;right:28px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}#vitals{width:190px;background:#13262acc;padding:12px}#vitals>div{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1px}meter{width:100%;height:12px;accent-color:var(--mint)}meter::-webkit-meter-bar{background:#23383c;border:none}meter::-webkit-meter-optimum-value{background:var(--mint)}#protection{font-size:9px;color:var(--orange)}#hotbar{display:flex;gap:7px}#hotbar button{width:100px;min-height:77px;text-align:left;background:#14272ee8;padding:9px;font-size:11px}#hotbar b{display:block;font-size:20px;font-weight:400;color:var(--orange)}#hotbar .active{border-color:var(--mint);background:#315450}#hotbar small{display:block;font-size:8px;letter-spacing:0}#stock{text-align:right;background:#14272ac9;padding:12px;font-size:12px}#stock small{display:block;font-size:8px;letter-spacing:.5px;color:var(--muted);margin-top:5px}footer{position:absolute;bottom:0;left:0;right:0;height:36px;padding:8px 28px;background:#14252be5;display:flex;justify-content:space-between;font-size:10px;color:#c8d1cc}footer kbd{margin:0 4px 0 10px}#buildHint{position:absolute;bottom:155px;left:50%;transform:translateX(-50%);text-align:center;padding:10px 16px;background:#18292eeb;font-size:11px}.veil{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:5vh 7vw;background:linear-gradient(90deg,#0b1f29ee 0%,#102730b8 45%,#11243016 100%)}.landing-card{max-width:430px}h1{font-size:clamp(50px,8vw,108px);line-height:.8;letter-spacing:-5px;font-weight:800;margin:35px 0 25px}h1 em{font-style:normal;color:var(--mint)}h1 span{display:block;font-size:13px;letter-spacing:8px;line-height:3}.eyebrow{color:var(--orange);letter-spacing:2px;font-size:9px}.intro{font-size:17px;color:#c5d3d1;line-height:1.6}.primary{display:flex;justify-content:space-between;align-items:center;width:100%;background:var(--mint);color:#183437;border:0;font-size:12px;letter-spacing:2px;font-weight:bold;padding:17px}.primary:hover{background:#e4ffe9}.primary span{font-size:22px}.note{font-size:10px;color:#b5c2bf;margin:15px 0 0}.landing-info{align-self:flex-end;text-align:right;padding-bottom:5vh}.landing-info h2{font-size:42px;line-height:1.05;margin:15px 0}.landing-info span,.landing-info>div{font-size:9px;letter-spacing:2px;color:var(--mint)}.landing-info p{color:#d7e2d8}#joinError{color:#ffbea3;margin-top:10px}#guide{background:#081b24b8;backdrop-filter:blur(5px);justify-content:center}.panel{width:880px;max-height:90vh;overflow:auto;background:#142a31f5;border:1px solid #84999350;padding:30px;border-radius:6px}.panel-head{display:flex;justify-content:space-between;align-items:start;border-bottom:1px solid var(--line);margin-bottom:22px}.panel-head small{color:var(--mint)}.panel-head h2{margin:5px 0 18px}.columns{display:grid;grid-template-columns:1fr 1fr;gap:35px}.columns p,dl{font-size:12px;color:#c1cecc}dl{display:grid;grid-template-columns:100px 1fr;gap:10px}dd{margin:0}dt{color:var(--mint)}.recipe{padding:12px 0;border-bottom:1px solid var(--line)}.recipe button{float:right;font-size:11px}.recipe b{display:block}.recipe small{display:block;color:var(--orange);letter-spacing:0;font-size:10px}.recipe p{margin:5px 0 0;font-size:11px}#backpack{margin:15px 0}#lore{border-left:2px solid var(--mint);padding-left:14px;font-style:italic}#hud{pointer-events:none}#hud button{pointer-events:auto}@media(max-width:900px){#mission{width:210px;top:95px}#mission small{font-size:8px}#hotbar button{width:74px}#stock{font-size:10px}#vitals{width:140px}.topright{gap:8px}.landing-info{display:none}#bottom{left:15px;right:15px;gap:8px}footer{font-size:8px;padding-left:5px}.columns{gap:20px}.panel{padding:20px}header{left:20px;right:20px}}@media(max-height:740px){h1{font-size:65px;margin:20px 0 10px}.intro{font-size:14px;margin-bottom:12px}input,select{padding:7px;margin-bottom:10px}.veil{padding:3vh 7vw}.note{font-size:9px}}
/* Complete pointer controls: no keyboard or pointer lock required. */
#world,#stick,#pointerControls button{touch-action:none;user-select:none;-webkit-user-select:none}#pointerControls{position:absolute;bottom:155px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:end;pointer-events:none}#stick{width:112px;height:112px;border-radius:50%;border:1px solid #b9f1c788;background:#10282ca8;position:relative;pointer-events:auto;cursor:grab;display:grid;place-items:center}#stickKnob{display:block;width:48px;height:48px;border-radius:50%;background:#b9f1c799;border:1px solid #dbffe5;pointer-events:none}#stick small{position:absolute;bottom:8px;font-size:8px;pointer-events:none}#actionButtons{display:grid;grid-template-columns:repeat(4,80px);gap:6px;pointer-events:auto}#actionButtons button{min-height:44px;padding:5px;font-size:11px}#sprintAction[aria-pressed=true]{background:#456c5c;border-color:var(--mint)}#interaction{max-width:65vw;white-space:normal;pointer-events:none}#buildHint{bottom:280px;max-width:70vw}#landing{overflow:auto}#guide{touch-action:pan-y}.panel{overscroll-behavior:contain}
@media(max-width:700px),(pointer:coarse){header{top:max(10px,env(safe-area-inset-top));left:12px;right:12px}.brand b{font-size:15px;letter-spacing:2px}.brand small,.mark{display:none}.topright{gap:6px;font-size:8px;flex-wrap:wrap;justify-content:flex-end}.topright button{min-height:44px;padding:5px 8px;font-size:10px}#mission{top:74px;left:12px;width:200px;padding:8px}#mission small,#mission p,#steps{display:none}#mission h2{font-size:14px;margin:0}#compass{top:81px;left:auto;right:12px;transform:none;font-size:8px}#compass b{font-size:12px}#bottom{bottom:calc(150px + env(safe-area-inset-bottom));left:12px;right:12px;display:block}#vitals{position:fixed;top:112px;left:12px;width:125px;padding:7px}#vitals small{font-size:7px}#stock{position:fixed;top:120px;right:12px;font-size:10px;padding:6px}#saveStatus{display:none!important}#hotbar{justify-content:center;gap:5px}#hotbar button{width:23%;max-width:105px;min-height:50px;padding:5px;font-size:10px}#hotbar b,#hotbar small{display:none}#pointerControls{bottom:calc(18px + env(safe-area-inset-bottom));left:15px;right:12px}#actionButtons{grid-template-columns:repeat(3,65px);gap:4px}#actionButtons button{min-height:40px;font-size:10px}#stick{width:108px;height:108px}footer{display:none}#interaction{bottom:212px;font-size:11px;padding:6px;width:max-content;max-width:90vw}#buildHint{bottom:212px;width:90vw;max-width:90vw;font-size:10px;padding:6px}#toast{top:max(12px,env(safe-area-inset-top));width:85vw;font-size:12px}#reticle{font-size:15px}.veil{padding:20px}.landing-card{width:100%;max-width:430px;margin:auto}.landing-info{display:none}h1{font-size:65px}.panel{max-height:94dvh;padding:16px}.columns{grid-template-columns:1fr;gap:16px}.panel-head h2{font-size:20px}.panel-head button{min-height:44px}input,select{font-size:16px;min-height:44px}.recipe button{min-height:44px}.note{font-size:11px}}
@media(pointer:coarse) and (orientation:landscape){#mission{top:65px;width:190px}#vitals{top:100px}#compass{top:70px}#stock{top:108px}#hotbar{max-width:350px;margin:auto}#bottom{bottom:12px;left:150px;right:225px}#hotbar button{min-width:55px}#interaction,#buildHint{bottom:78px;max-width:45vw}#pointerControls{bottom:10px}.landing-card{max-width:600px}#landing h1{font-size:42px;margin:8px 0}#landing .intro,#landing .eyebrow{display:none}#joinForm{display:grid;grid-template-columns:1fr 1fr;gap:5px 15px}#joinForm label{grid-row:1}#joinForm input,#joinForm select{grid-row:2}#enter{grid-column:1/3}.note{margin-top:7px}}

/* Show the virtual movement pad only on devices reporting touch support. */
html:not(.touch-enabled) #stick{display:none}
#actionButtons{margin-left:auto}
.server-card{border:1px solid var(--line);padding:12px;margin-bottom:12px;background:#132b32}.server-card p{font-size:12px;margin:6px 0}.server-card small{letter-spacing:.5px}#serverBrowser h2{margin-bottom:12px}#createServer{width:100%;margin-bottom:15px;font-size:11px}#backTitle{margin-top:10px}#landing:has(#serverBrowser:not(.hidden)) h1{font-size:45px;margin:10px 0}#landing:has(#serverBrowser:not(.hidden)) .intro{display:none}#hotbar button{width:82px}#actionButtons{grid-template-columns:repeat(4,72px)}#dayClock{color:var(--mint)}
@media(max-width:700px),(pointer:coarse){#actionButtons{grid-template-columns:repeat(3,65px)}#pointerControls{bottom:12px}#bottom{bottom:190px}#hotbar{overflow-x:auto;justify-content:flex-start;pointer-events:auto}#hotbar button{flex:0 0 77px;min-height:44px}#interaction,#buildHint{bottom:246px}#dayClock{font-size:8px}#weather{display:none}.topright{max-width:75%}}
@media(pointer:coarse) and (orientation:landscape){#bottom{bottom:12px;left:140px;right:230px}#interaction,#buildHint{bottom:75px}#actionButtons{grid-template-columns:repeat(4,56px)}#actionButtons button{min-height:36px;font-size:9px}#landing:has(#serverBrowser:not(.hidden)) h1,#landing:has(#serverBrowser:not(.hidden)) .note{display:none}.server-card{padding:6px;margin-bottom:6px}.server-card p{margin:2px 0}#serverBrowser h2{margin:0;font-size:18px}#createServer{margin:0;padding:5px}#backTitle{padding:5px;margin:3px 0}#joinForm input,#joinForm select{margin:0;padding:5px;min-height:32px}#enter{padding:8px}}
.account-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}#accountError{color:#ffc19d;font-size:12px;margin:8px 0}#characterForm{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0}#characterForm label{width:100%}#characterForm input{flex:1;width:150px;margin:0}#characterCount{font-size:12px;color:var(--muted)}#serverBrowser{padding-bottom:12px}#landing:has(#serverBrowser:not(.hidden)){align-items:flex-start}#landing:has(#serverBrowser:not(.hidden)) .landing-card{margin:auto 0}#storagePanel{z-index:8;background:#071c24b8}#transferAmount{max-width:120px}.storage-row{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.storage-row span{flex:1;font-size:12px}.storage-row button{min-height:44px}#hotbar{max-width:620px;overflow-x:auto;pointer-events:auto}#hotbar button{flex:0 0 78px}
@media(max-width:700px),(pointer:coarse){#landing:has(#serverBrowser:not(.hidden)) h1{display:none}#accountForm input{margin:4px 0 8px}#characterForm button{min-height:44px}.storage-row{flex-wrap:wrap}.storage-row span{flex-basis:100%}}

.tips-off #mission,.tips-off #interaction{display:none}.toggle{display:flex;gap:12px;align-items:center;font-size:12px;letter-spacing:.5px}.toggle input{width:20px;min-height:20px;margin:0}

#expedition{z-index:9;background:#0b1b27df;justify-content:center}.expedition-panel{max-width:960px}#expeditionTabs{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:18px}#expeditionBody>button{margin:4px}#planetMap{width:100%;height:auto;border:1px solid #779293}.belt-row,.cargo-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:8px 0}.belt-row select{width:220px;margin:0}#serverSettingsForm{display:grid;grid-template-columns:1fr 1fr;gap:14px}#serverSettingsForm label{letter-spacing:0}#serverSettingsForm input[type=checkbox]{width:22px;display:block}#survivalStatus{display:block;letter-spacing:0;font-size:9px;line-height:1.6}#terminalMessage{position:sticky;bottom:0;background:#142a31;color:#b9f1c7;margin:12px 0 0}#actionButtons{grid-template-columns:repeat(4,72px)}@media(max-width:700px){#serverSettingsForm{grid-template-columns:1fr}#actionButtons{grid-template-columns:repeat(3,65px)}#bottom{bottom:234px}#interaction,#buildHint{bottom:290px}#stock{max-width:52%;font-size:9px}#vitals{max-width:34%}}
#accountGate{z-index:20;justify-content:center;background:#0b1b27f5;overflow:auto}.account-panel{max-width:560px}.account-panel .toggle{margin:12px 0;font-size:12px;letter-spacing:0;flex-wrap:wrap}a{color:#b9f1c7}#accountFeedback{color:#efbe95;margin-top:14px}#landing{visibility:hidden}body:has(#accountGate.hidden) #landing{visibility:visible}

#toolbelt{display:flex;gap:4px;max-width:620px;overflow-x:auto;pointer-events:auto}#toolbelt button{flex:0 0 54px;min-height:48px;padding:4px;font-size:10px}.wiki-link{display:block;margin:10px 0;letter-spacing:2px;font-size:12px}@media(max-width:700px){#toolbelt{max-width:100%}#toolbelt button{flex-basis:42px;min-height:44px}#stock{top:155px}}

/* Field Guide: fixed navigation, one focused page, independently scrolling content. */
#guide{z-index:10;padding:24px}.guide-panel{width:min(900px,100%);height:min(760px,90dvh);max-height:90dvh;display:flex;flex-direction:column;overflow:hidden;padding:24px}.guide-panel .panel-head{flex:none;margin:0;border:0;align-items:center}.guide-panel .panel-head h2{margin:4px 0 20px}#guideTabs{display:flex;gap:8px;flex:none;padding:0 0 16px;border-bottom:1px solid var(--line)}#guideTabs button{flex:1;min-height:44px;background:transparent}#guideTabs button[aria-selected=true]{background:#b9f1c718;border-color:var(--mint);color:var(--mint)}.guide-content{overflow:auto;min-height:0;flex:1;padding:22px 4px}.guide-description{color:var(--muted);font-size:12px;max-width:580px}.guide-page>p,.guide-page dl{max-width:650px}.guide-page .recipe{padding:16px 0}.guide-page .recipe button{min-height:44px;margin-left:12px}.guide-page .recipe p{max-width:580px}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:24px;border:1px solid var(--line);padding:20px;margin:20px 0;font-size:14px;letter-spacing:0;cursor:pointer}.setting-row small{display:block;color:var(--muted);font-size:12px;font-weight:400;letter-spacing:0;margin-top:5px}.setting-row input{width:24px;height:24px;flex:0 0 24px;margin:0;accent-color:var(--mint)}.guide-footer{flex:none;border-top:1px solid var(--line);padding-top:16px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px}.guide-footer button{font-size:11px;min-height:44px}#backpack{line-height:2;color:var(--mint)}
@media(max-width:600px){#guide{padding:10px}.guide-panel{padding:16px;height:94dvh;max-height:94dvh}#guideTabs{gap:4px}#guideTabs button{padding:8px 4px;font-size:12px}.guide-panel .panel-head h2{font-size:24px}.guide-panel .panel-head kbd{display:none}.guide-footer{gap:8px}.guide-footer button{font-size:9px;padding:8px}.setting-row{padding:14px;gap:12px}.guide-page dl{grid-template-columns:90px 1fr}}

.controller-binding{display:flex;align-items:center;justify-content:space-between;gap:12px;letter-spacing:0;font-size:12px;font-weight:400;border-bottom:1px solid var(--line);padding:8px 0}.controller-binding select{width:145px;flex:0 0 145px;margin:0;padding:8px}#controllerStatus{color:var(--mint);font-size:12px;overflow-wrap:anywhere}#controllerBindings{margin-bottom:16px}#toolbelt button.controller-selected{border-color:var(--mint);background:#315450}
#hud>header{z-index:2}#menuButton{min-height:44px;white-space:nowrap}@media(max-width:600px){#hud>header{left:12px;right:12px;top:12px;align-items:flex-start}#hud .brand b{font-size:16px;letter-spacing:2px}#hud .brand small,#hud .brand .mark{display:none}#hud .topright{flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:65%}#menuButton{order:-1;width:100%;padding:8px;font-size:11px}#menuButton kbd{display:none}}
