.brand{font-size:24px;letter-spacing:1px}.brand small{font-size:12px;letter-spacing:1.2px}.mobile-options,.mobile-settings{display:none!important}
#play-options{width:min(600px,96vw);max-height:90dvh;overflow:auto;padding:28px 18px}#play-options .close-button{min-width:44px;min-height:44px}#play-options .play-options-content{display:grid;gap:12px}#play-options .top-actions{display:flex;flex-wrap:wrap}#play-options button,#play-options select{min-height:44px;font-size:14px}#play-options .mine-progress,#play-options .attachment-controls{margin:0}#play-options .attachment-controls select{max-width:100%}#play-options .mine-progress button{width:100%}
@media(min-width:0px){
 .mobile-settings{display:block!important;min-height:44px!important;padding:8px 12px!important}.brand{font-size:19px;gap:7px}.brand small{font-size:12px;letter-spacing:0}.brandmark{font-size:30px}.topbar{gap:8px}.top-center{display:none}
 body:is([data-view=mine],[data-view=journey]):not(.tutorial-demo){overflow:hidden;overscroll-behavior:none}
 body:is([data-view=mine],[data-view=journey]):not(.tutorial-demo) #game{height:100dvh;min-height:0;padding:env(safe-area-inset-top) max(8px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(8px,env(safe-area-inset-left));gap:4px}
 body:is([data-view=mine],[data-view=journey]) .topbar{height:50px;flex:0 0 50px}
 body:is([data-view=mine],[data-view=journey]) .navigation{padding:0;gap:4px;flex:0 0 44px;justify-content:space-between}
 body:is([data-view=mine],[data-view=journey]) .navigation button{font-size:12px;letter-spacing:0;padding:4px;min-height:44px;flex:1}
 body:is([data-view=mine],[data-view=journey]) .navigation button span,body:is([data-view=mine],[data-view=journey]) #supplies-nav{display:none}
 body:is([data-view=mine],[data-view=journey]) .miner-vitals,body:is([data-view=mine],[data-view=journey]) footer{display:none}
 body:is([data-view=mine],[data-view=journey]) .stats{position:static;margin:0;padding:0;gap:8px;flex:0 0 30px;align-items:center;justify-content:space-between}
 body:is([data-view=mine],[data-view=journey]) .stats span{display:none}body:is([data-view=mine],[data-view=journey]) .stats strong{font:16px var(--body);margin:0}
 body:not(.tutorial-demo) #mine-view,body:not(.tutorial-demo) #journey-view{padding:0;min-height:0;display:flex;flex-direction:column;gap:6px;overflow:hidden}
 .mine-title,.journey-heading{display:none}
 body:not(.tutorial-demo) #fps-viewport,body:not(.tutorial-demo) #journey-stage{flex:1 1 0;height:auto;min-height:0;margin:0;width:100%;border-radius:8px}
 #fps-viewport .face-grid{margin:0;left:5%;width:90%;top:13%;height:53%;grid-template-rows:repeat(4,minmax(0,1fr))}
 #fps-viewport .fps-bottom{padding:4px;bottom:0;left:0;right:0}.tool-switch{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:3px}.tool-switch button{font-size:12px;min-height:44px;padding:4px}.tool-switch kbd{display:none}
 #fps-viewport .excavation{bottom:52px;left:8px;padding:3px 8px;max-width:calc(100% - 16px)}#fps-viewport .fps-top{padding:4px 8px;font-size:12px}
 body:not(.tutorial-demo) #fps-viewport+.mine-footer{margin:0;padding:0;flex:0 0 auto;border:0;background:transparent}.mine-footer .mine-tools{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:5px;width:100%}.mine-footer #dig{min-width:0;order:0;font-size:14px;min-height:48px;padding:8px;justify-content:center}.mine-footer #sample{min-width:0;min-height:48px;font-size:14px;padding:8px}.mobile-options{display:block!important;min-height:48px!important;padding:6px!important;font-size:14px!important}
 .journey-hud{top:8px;left:8px;right:8px;padding:8px}.journey-controls{bottom:8px;left:8px;right:8px;display:flex;gap:6px;justify-content:space-between}.journey-controls button{min-width:48px;min-height:56px;padding:8px;font-size:14px;touch-action:none;user-select:none}.journey-controls .throttle-control{min-width:105px}.journey-controls [hidden]{display:none!important}
 .journey-bar{margin:0;padding:0;display:flex;gap:8px;flex:0 0 auto}.journey-status{font-size:12px;margin:0;flex:1}.journey-bar .journey-action{min-height:44px;padding:8px;font-size:14px;flex:1}.journey-cruise,.journey-reset{margin:0!important;min-height:44px;padding:6px!important;font-size:14px}.junction-choice{position:absolute;top:145px;bottom:auto;left:10%;width:80%;min-height:44px}
 #toast,#miner-caption{bottom:80px;max-height:25vh;overflow:auto;pointer-events:none}
 .room-controls{bottom:4px;left:4px;right:4px;padding:4px}.room-controls button{min-height:44px;padding:6px;font-size:14px}.room-controls p{margin:0;font-size:12px}
}
@media(max-height:550px) and (orientation:landscape){
 body:is([data-view=mine],[data-view=journey]) .topbar{display:none}body:is([data-view=mine],[data-view=journey]) .stats{position:absolute;top:5px;right:12px;z-index:3;pointer-events:none}.stats>div:first-child,.stats>div:last-child{display:none}body:is([data-view=mine],[data-view=journey]) .navigation{padding-right:190px}.journey-cruise,.journey-reset{position:absolute;right:18px;top:95px;z-index:6}.journey-reset{top:144px}
}

/* Opaque message surfaces retain contrast against rain, trees and bright sunsets. */
body[data-view=journey] .journey-status{color:#fff!important;background:#101719;border:1px solid #c3cbd0;border-left:4px solid #f0c578;border-radius:5px;padding:10px 12px;font-size:14px;line-height:1.45;text-shadow:none}
body[data-view=journey] .journey-hud{color:#fff;background:#101719eb;border:1px solid #adb7bc75;border-radius:6px;padding:10px 12px;text-shadow:none}
body[data-view=journey] #toast,body[data-view=journey] #miner-caption{color:#fff!important;background:#101719!important;border:1px solid #c3cbd0;border-left:4px solid #f0c578;text-shadow:none;font-size:16px}
body[data-view=journey] .junction-choice{color:#fff!important;background:#101719!important;border:2px solid #f0c578;text-shadow:none}
body[data-view=journey] .journey-reset,body[data-view=journey] .journey-cruise{color:#fff}
@media(min-width:0px){body[data-view=journey] .journey-status{font-size:14px;padding:6px 8px;line-height:1.35}.journey-hud .journey-submetric{font-size:12px;line-height:1.4}.journey-hud{gap:8px}.journey-hud>div:first-child{min-width:0}.trip-progress{max-width:30%;flex-shrink:0}body[data-view=journey] .junction-choice{left:50%;right:auto;max-width:calc(100% - 24px)}}

.wildlife-look{position:absolute;z-index:6;left:12px;top:125px;display:flex;gap:6px;flex-wrap:wrap;max-width:calc(100% - 24px)}.wildlife-look[hidden]{display:none}.wildlife-look button,.wildlife-look span{background:#101719;color:#fff;border:1px solid #e6c682;border-radius:5px;padding:9px 12px;font-size:14px;min-height:44px}.wildlife-look span{flex-basis:100%;width:max-content;max-width:340px}.wildlife-look [hidden]{display:none!important}@media(max-width:900px){.wildlife-look{top:110px}.wildlife-look button{padding:6px 9px}}@media(max-height:550px) and (orientation:landscape){.wildlife-look{top:85px;left:10px;max-width:50%}.wildlife-look span{padding:4px;min-height:0}}
/* Thumb-sized equipment controls and native selects that do not trigger phone zoom. */
@media(max-width:900px){button,select,input{touch-action:manipulation}#play-options select,#play-options input{font-size:16px}#play-options .top-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#play-options .top-actions button{min-height:48px!important}#play-options .close-button{position:sticky;top:0;float:right;background:#12221c;z-index:2}body:not(.tutorial-demo) .tool-switch button{font-size:14px;line-height:1.2}#miner-caption{max-width:calc(100vw - 24px);font-size:14px}button:focus-visible,select:focus-visible{outline-offset:1px}}
@media(max-width:600px) and (orientation:portrait){body:not(.tutorial-demo) .tool-switch{grid-template-columns:repeat(2,minmax(0,1fr))}#fps-viewport .excavation{bottom:100px}#fps-viewport .face-grid{top:11%;height:calc(89% - 143px)}.tool-switch button{min-height:44px}body:not(.tutorial-demo) .mine-footer #dig,body:not(.tutorial-demo) .mine-footer #sample{min-height:52px}}
@media(max-height:550px) and (orientation:landscape){body:is([data-view=mine],[data-view=journey]) .topbar{display:contents}body:is([data-view=mine],[data-view=journey]) .topbar>.brand{display:none}.mobile-settings{position:absolute;top:0;right:8px;z-index:8}body:is([data-view=mine],[data-view=journey]) .stats{right:80px}body:is([data-view=mine],[data-view=journey]) .navigation{padding-right:240px}}

.mobile-workshop-bar,.mobile-travel-buttons{display:none}
#mobile-workshop-options{width:min(620px,96vw);max-height:90dvh;overflow:auto;padding:16px}#mobile-workshop-options .close-button{position:sticky;top:0;z-index:2;min-height:48px;background:#173529;width:100%;margin-bottom:12px}#mobile-workshop-options .stone-list{max-height:none;border:0;padding:0}#mobile-workshop-options button{min-height:48px}#mobile-workshop-options select,#mobile-workshop-options input{font-size:16px;min-height:44px;max-width:100%}#mobile-workshop-options [hidden]{display:none!important}
@media(min-width:0px){
 body:is([data-view=workshop],[data-view=mine],[data-view=journey]):not(.tutorial-demo){overflow:hidden;overscroll-behavior:none}
 body:is([data-view=workshop],[data-view=mine],[data-view=journey]):not(.tutorial-demo) #game{height:100dvh;min-height:0;padding:env(safe-area-inset-top) max(8px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(8px,env(safe-area-inset-left));gap:4px}
 body:is([data-view=workshop],[data-view=mine],[data-view=journey]):not(.tutorial-demo) .topbar{height:44px;flex:0 0 44px;display:flex}
 body:is([data-view=workshop],[data-view=mine],[data-view=journey]) .mobile-settings{position:static;min-width:60px}
 body:is([data-view=workshop],[data-view=mine],[data-view=journey]) .navigation{padding:0;gap:4px;flex:0 0 44px;justify-content:space-between}
 body:is([data-view=workshop],[data-view=mine],[data-view=journey]) .navigation button{font-size:12px;letter-spacing:0;padding:4px;min-height:44px;flex:1;min-width:0}
 body:is([data-view=workshop],[data-view=mine],[data-view=journey]) .navigation button span,body:is([data-view=workshop],[data-view=mine],[data-view=journey]) #supplies-nav,body:is([data-view=workshop],[data-view=mine],[data-view=journey]) .miner-vitals,body:is([data-view=workshop],[data-view=mine],[data-view=journey]) footer{display:none}
 body:is([data-view=workshop],[data-view=mine],[data-view=journey]) .stats{position:static;flex:0 0 22px;padding:0;gap:16px;justify-content:flex-end;pointer-events:auto}.stats>div{min-width:0}
 body:is([data-view=workshop],[data-view=mine],[data-view=journey]) .stats>div:first-child,body:is([data-view=workshop],[data-view=mine],[data-view=journey]) .stats>div:last-child,body:is([data-view=workshop],[data-view=mine],[data-view=journey]) .stats span{display:none}
 body:is([data-view=workshop],[data-view=mine],[data-view=journey]) .stats strong{font:14px var(--body);margin:0}
 body:not(.tutorial-demo) #workshop-view{padding:0;min-height:0;display:flex;flex-direction:column;gap:6px;overflow:hidden}.workshop-heading{display:none}
 .mobile-workshop-bar{display:flex;gap:6px;flex:0 0 44px}.mobile-workshop-bar button{flex:1;min-height:44px;padding:6px;font-size:14px}
 body:not(.tutorial-demo) .workshop-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;flex:1;min-height:0;margin:0;overflow:hidden}
 body:not(.tutorial-demo) .workshop-layout .gem-stage,body:not(.tutorial-demo) #gem{min-height:0;height:100%;width:100%}.gem-caption{left:10px;bottom:6px}.gem-caption h2{font-size:20px;margin:0}.rotation-hint{top:6px;font-size:12px;letter-spacing:0}.gem-caption span{font-size:12px;letter-spacing:0}
 body:not(.tutorial-demo) .cut-panel{padding:8px;border-left:0;border-top:1px solid var(--line);min-height:0}
 #cut-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}#cut-controls label,#cut-controls .cut-track,#cut-advice{grid-column:1/-1}#cut-controls label{font-size:14px}#cut-controls .cut-track{margin:0}#cut-controls #cut-advice{margin:2px 0;min-height:0;font-size:14px;line-height:1.35}#cut-controls button{font-size:14px;line-height:1.2;min-height:58px;margin:0;padding:7px 4px}
 #empty-gem{padding:12px}#empty-gem>span{display:none}#empty-gem h2{font-size:24px;margin:8px 0}#empty-gem p{margin:6px 0}
 #mine-view>.fps-bottom{position:static;order:2;padding:0;flex:0 0 auto;display:block}#mine-view>.mine-footer{order:3;position:static}#mine-view>.fps-bottom .fps-hint{display:none}.tool-switch{grid-template-columns:repeat(4,minmax(0,1fr))!important}.tool-switch button{min-height:48px;font-size:13px!important}
 #fps-viewport .face-grid{top:12%;height:70%}#fps-viewport .excavation{bottom:6px}
 #journey-view>.journey-controls{position:static;order:2;flex:0 0 48px;display:flex;padding:0}.journey-controls button{flex:1;min-width:0!important;min-height:48px;font-size:14px;padding:6px}.journey-bar{order:3;align-items:stretch}.journey-bar .journey-status{line-height:1.3}.mobile-travel-buttons{display:flex;gap:6px;order:4;flex:0 0 44px}.mobile-travel-buttons button{position:static;flex:1;min-height:44px}
 body:is([data-view=mine],[data-view=journey],[data-view=workshop]) #toast,body:is([data-view=mine],[data-view=journey],[data-view=workshop]) #miner-caption{top:auto;bottom:env(safe-area-inset-bottom,0px);left:8px;right:8px;max-width:none;max-height:52px;font-size:14px;padding:6px 10px;pointer-events:none}
 body[data-view=workshop] #toast{bottom:180px}body[data-view=workshop] #miner-caption{display:none}
}
@media(max-height:550px) and (orientation:landscape){
 body:is([data-view=workshop],[data-view=mine],[data-view=journey]):not(.tutorial-demo) .topbar{position:absolute;right:max(8px,env(safe-area-inset-right));top:env(safe-area-inset-top);height:44px;z-index:5;border:0}.topbar .brand{display:none}
 body:is([data-view=workshop],[data-view=mine],[data-view=journey]) .navigation{padding-right:68px}body:is([data-view=workshop],[data-view=mine],[data-view=journey]) .stats{display:none}
 body:not(.tutorial-demo) .workshop-layout{grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr);grid-template-rows:minmax(0,1fr)}body:not(.tutorial-demo) .cut-panel{border-top:0;border-left:1px solid var(--line);align-self:center}#cut-controls{grid-template-columns:1fr 1fr}#cut-controls #window{grid-column:1/-1;min-height:44px}#cut-controls button{min-height:48px}#cut-controls #cut-advice{font-size:13px}
 body:not(.tutorial-demo) #journey-view{display:grid;grid-template-columns:minmax(0,1fr) 220px;grid-template-rows:minmax(0,1fr) auto;gap:4px}body:not(.tutorial-demo) #journey-stage{grid-column:1;grid-row:1/3;height:100%}#journey-view>.journey-controls{grid-column:2;grid-row:2;flex-wrap:wrap}#journey-view>.journey-controls button{flex:1 1 40%}.journey-bar{grid-column:2;grid-row:1;flex-direction:column;justify-content:center}.mobile-travel-buttons{display:none}.journey-hud{padding:4px!important}.wildlife-look{top:65px;max-width:70%}
}
@media(min-width:0px){
 body:is([data-view=workshop],[data-view=mine],[data-view=journey]) #toast{position:static!important;order:99;flex:0 0 36px;min-height:36px;max-height:36px!important;width:100%;margin:0!important;transform:none!important;overflow:hidden;display:flex;align-items:center;font-size:13px;padding:4px 8px!important;border:0!important}
 body:is([data-view=workshop],[data-view=mine],[data-view=journey]) #miner-caption{display:none!important}
 #mine-view>.room-controls{position:static;order:2;flex:0 0 auto;margin:0;padding:4px;display:grid;grid-template-columns:1fr 1fr;gap:4px}#mine-view>.room-controls[hidden]{display:none}#mine-view>.room-controls p{grid-column:1/-1}#mine-view>.room-controls>div{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}#mine-view>.room-controls button{min-width:0;min-height:44px;margin:0;padding:4px;font-size:13px}#mine-view:has(.fps-viewport.exploring)>.fps-bottom,#mine-view:has(.fps-viewport.exploring)>.mine-footer{display:none}
}
@media(max-height:550px) and (orientation:landscape){
 body:not(.tutorial-demo) #journey-view{grid-template-rows:minmax(0,1fr) auto auto}body:not(.tutorial-demo) #journey-stage{grid-row:1/4}.mobile-travel-buttons{display:flex;grid-column:2;grid-row:3}.mobile-travel-buttons button{font-size:12px!important;min-height:44px}
 body:is([data-view=workshop],[data-view=mine],[data-view=journey]) .brand{display:none}body:not(:is([data-view=workshop],[data-view=mine],[data-view=journey])) .topbar .brand{display:flex}
}

/* Smaller driving notices, separate from the road and touch controls. */
@media(min-width:0px){
 body[data-view=journey] #toast{flex-basis:28px;min-height:28px;max-height:28px!important;font-size:12px!important;line-height:1.2;padding:3px 6px!important}
 body[data-view=journey] .journey-status{font-size:12px;line-height:1.25;padding:4px 6px;border-left-width:2px}
 body[data-view=journey] .journey-bar{gap:5px}
 body[data-view=journey] .wildlife-look span{min-height:0;padding:3px 5px;font-size:12px;line-height:1.2;max-width:220px}
}

/* Compact speed and wildlife boxes on phones and touch devices. */
@media(min-width:0px){
 body[data-view=journey] .journey-hud{inset:6px auto auto 6px;width:max-content;max-width:44%;padding:5px 8px!important;gap:0;display:block;border-radius:5px;pointer-events:none}
 body[data-view=journey] .journey-hud>div:first-child{min-width:0}
 body[data-view=journey] .journey-hud .journey-metric{font-size:22px;line-height:1.05}
 body[data-view=journey] .journey-hud .journey-submetric{font-size:12px;line-height:1.2;margin-top:3px}
 body[data-view=journey] .journey-hud .trip-progress{width:100%;max-width:none;margin-top:4px}
 body[data-view=journey] .journey-hud .trip-progress span{display:none}
 body[data-view=journey] .journey-hud .trip-progress progress{display:block;width:100%;height:3px;margin:0}
 body[data-view=journey] .wildlife-look{top:6px;right:6px;left:auto;max-width:49%;gap:4px;justify-content:flex-end}
 body[data-view=journey] .wildlife-look button{min-height:44px;padding:5px 8px;font-size:12px;line-height:1.15;border-radius:4px}
 body[data-view=journey] .wildlife-look span{flex-basis:100%;width:auto;max-width:100%;min-height:0;padding:3px 5px;font-size:12px;line-height:1.2;text-align:right}
}
.miner-name-form{padding:16px;background:#17271f;border:1px solid #74816a;margin:16px 0}.miner-name-form label{display:block;font-size:16px;margin-bottom:8px}.miner-name-form>div{display:flex;flex-wrap:wrap;gap:8px}.miner-name-form input{flex:1 1 160px;min-width:0;min-height:48px;font-size:16px;padding:10px}.miner-name-form button{min-height:48px;padding:10px 14px}.miner-name-form small{display:block;margin-top:8px;font-size:13px}.miner-card-name,#camp-miner h2{overflow-wrap:anywhere}.miner-button{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.mobile-travel-buttons>.journey-return-mine{position:static;min-width:0;min-height:44px;margin:0;padding:8px;font-size:14px;white-space:normal}.mobile-travel-buttons>.journey-return-mine[hidden]{display:none!important}

body[data-view=journey] .journey-status:empty{display:none}

/* Reserve real layout space for travel controls instead of overlaying the view. */
body[data-view=journey] .mobile-travel-buttons{position:relative;z-index:6;isolation:isolate;flex:0 0 auto;min-height:48px;align-items:stretch;padding-bottom:env(safe-area-inset-bottom,0px)}
body[data-view=journey] .mobile-travel-buttons>button{position:static;flex:1 1 0;min-width:0;min-height:48px;height:auto;line-height:1.25;white-space:normal;overflow-wrap:break-word;margin:0}
body[data-view=journey] .mobile-travel-buttons>button[hidden]{display:none!important}
body[data-view=journey] #journey-view{overflow-y:auto}

body[data-view=journey] .mobile-travel-buttons>.journey-cruise{order:0}body[data-view=journey] .mobile-travel-buttons>.journey-return-mine{order:1;color:#fff}body[data-view=journey] .mobile-travel-buttons>.journey-reset{order:2}

/* Small refill control tucked into the opal window's top-left corner. */
#cutting-refill-water{position:absolute;top:64px;left:8px;z-index:5;display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;margin:0;padding:6px;border:1px solid #78bdd080;border-radius:8px;background:#10282eee;color:#fff;line-height:1;box-shadow:0 2px 6px #0006}
#cutting-refill-water span{font-size:26px;line-height:1;pointer-events:none}

/* Lift only the cutting preview, leaving its controls in place. */
#workshop-view #gem,#workshop-view #gem-fallback{transform:translateY(-28px)}

/* Keep the camp shortcut at the edge, below the stone controls. */
#cutting-back-camp{position:absolute;top:102px;right:8px;z-index:5;min-height:44px;max-width:120px;padding:8px 12px;border-radius:8px;background:#102019ee;color:#fff;font-size:14px;line-height:1.2;box-shadow:0 2px 6px #0006}
