:root{--forest:#243f32;--cream:#fff8e8;--honey:#e8b76a}
.title-dot{color:#b8793b}.online-welcome h2{letter-spacing:-3px}.online-welcome select{width:100%;padding:10px;border:1px solid #c9cdbb;border-radius:8px;background:#fffdf4;color:#243f32;font:inherit;font-size:13px}.online-welcome details{margin:18px 0;background:#e9eddc;padding:12px;border-radius:10px;font-size:12px}.online-welcome summary{cursor:pointer;font-weight:700}.online-welcome .muted{font-size:11px;line-height:1.5;color:#64715a}.stash-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:9px 0}.stash-row label{display:flex;align-items:center;gap:7px}.online-welcome input[type=checkbox]{width:18px;height:18px;min-height:18px;accent-color:#426947}.stash-row button,.home-recipes button{font-size:10px!important;padding:6px 8px!important;margin:2px!important}.home-recipes{display:flex;flex-wrap:wrap;gap:4px}#stash-count{float:right;color:#687a5c}#personal-gear{position:fixed;z-index:17;bottom:24px;left:22px;background:#fff8e8e8;border-radius:12px;padding:10px 12px;color:#304b36;max-width:350px;box-shadow:0 4px 20px #233d2820}#health{font-size:16px;color:#b0523e;letter-spacing:3px}#gear-slots{display:flex;gap:5px;margin-top:5px}#gear-slots button{font:inherit;font-size:10px;border:1px solid #c7d0b7;border-radius:7px;background:#f7f5e8;padding:6px 8px;color:#43553c;cursor:pointer}#gear-slots button.selected{background:#d7e5bd;border-color:#719052}#gear-slots button:disabled{opacity:.5}#station-dialog,#result-dialog{width:min(560px,calc(100vw - 34px));box-sizing:border-box;max-height:85dvh;overflow:auto;color:#243f32;background:#fff8e8;border:0;border-radius:18px;padding:26px}dialog::backdrop{background:#1b352a80;backdrop-filter:blur(3px)}.recipe-row{display:flex;align-items:center;gap:10px;border-bottom:1px solid #dbe0cc;padding:12px 0;font-size:13px}.recipe-row>span,.recipe-row>strong{flex:1}.recipe-row button{width:auto!important;margin:0!important;padding:8px 10px!important;font-size:12px!important}#station-content>button,#result-content>button{margin:5px 5px 5px 0;padding:10px 14px}#craft-progress{font-size:12px;color:#677c54}#result-dialog h2,#station-dialog h2{font-size:30px;margin:0 0 14px}#result-dialog p{line-height:1.6;font-size:14px}button:disabled{cursor:default!important;opacity:.48}.prototype-note{opacity:.6}.touch-enabled #personal-gear{bottom:145px;left:20px;max-width:270px}body:has(#welcome:not([hidden])) #personal-gear{display:none}@media(max-width:600px){#personal-gear{bottom:65px;left:14px;padding:8px}#gear-slots button{font-size:9px;padding:5px}.touch-enabled #personal-gear{bottom:156px;left:14px;max-width:240px}.recipe-row{flex-wrap:wrap}.recipe-row>span{flex-basis:100%}.online-welcome .intro-controls{font-size:10px}}@media(max-height:500px){.touch-enabled #personal-gear{bottom:108px;left:14px}#health{font-size:12px}#personal-gear{padding:6px}.online-welcome{max-height:92dvh}}
.online-welcome{width:min(550px,calc(100vw - 32px));max-height:calc(100dvh - 30px);overflow:auto;padding:32px 38px!important}
.online-welcome h2{font-size:clamp(34px,4vw,52px)!important;line-height:1.02!important;margin:16px 0!important}
.online-welcome>p{font-size:14px;line-height:1.55;margin-bottom:20px}
.online-welcome .eyebrow{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:1.5px}
.live-dot{width:7px;height:7px;background:#568556;border-radius:50%;box-shadow:0 0 0 4px #56855619}
.field-label{display:block;font-weight:700;font-size:11px;letter-spacing:.4px;margin:12px 0 7px;color:#52604c}
.online-welcome input{width:100%;box-sizing:border-box;border:1px solid #c9cdbb;background:#fffdf4;color:#243f32;font:inherit;padding:12px 14px;border-radius:10px;outline:none;min-height:45px}
.online-welcome input:focus{border-color:#547755;box-shadow:0 0 0 3px #54775520}
.online-welcome .primary{width:100%;margin-top:12px!important;font-size:15px;padding:14px 18px}
.online-welcome button:disabled{opacity:.55;cursor:wait}
.join-divider{display:flex;align-items:center;gap:12px;margin:21px 0 8px;color:#7c8472;font-size:11px}
.join-divider:before,.join-divider:after{content:'';height:1px;background:#d9daca;flex:1}
.join-row{display:flex;gap:8px}.join-row input{min-width:0;flex:1;font-family:ui-monospace,monospace;letter-spacing:1px;text-transform:uppercase}
.join-row .secondary{white-space:nowrap;margin:0!important;width:auto!important;padding:10px 16px;font-size:13px}
.connection-message{min-height:19px;margin:10px 0!important;color:#8c4a35;font-size:12px!important}
.online-welcome .intro-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:11px;margin:12px 0 18px}
.online-welcome small{font-size:10px!important;line-height:1.55!important;color:#7c8472}
#online-bar{position:fixed;z-index:16;top:20px;left:50%;transform:translateX(-50%);background:#fff8e8ed;border:1px solid #fff9e8;border-radius:14px;padding:10px 12px;box-shadow:0 5px 24px #233d2820;color:#243f32;min-width:290px;max-width:calc(100vw - 660px);backdrop-filter:blur(12px);font-size:11px}
#online-bar[hidden]{display:none}.online-bar-top{display:flex;align-items:center;gap:9px}.online-badge{font-size:8px;font-weight:800;letter-spacing:1.2px;color:#68835a}
#online-code{font-family:ui-monospace,monospace;font-size:12px;white-space:nowrap}
#online-bar button{border:0;border-radius:7px;background:#e8ecd9;padding:7px 9px;font:inherit;font-weight:700;color:#304c37;cursor:pointer}
#online-bar #leave-room{margin-left:auto;background:transparent;font-size:19px;padding:0 5px}
#online-roster{display:flex;gap:5px;flex-wrap:wrap;margin:9px 0 5px}.roster-player{padding:3px 6px;background:#e7eddc;border-radius:5px;border-left:3px solid #eb483c;font-size:10px}.roster-player.slot-1{border-color:#168fe7}.roster-player.slot-2{border-color:#a343bd}.roster-player.slot-3{border-color:#d7ad25}
#online-status{margin:5px 0 0;font-size:10px;color:#6a7761}.connection-error,#network-warning{color:#974d2d!important}#network-warning{font-size:10px;margin:6px 0 0;max-width:320px}
@media(max-width:1050px){#online-bar{top:auto;bottom:77px;max-width:calc(100vw - 48px);min-width:280px}.prototype-note{display:none}}
@media(max-width:600px){.online-welcome{padding:24px!important}#online-bar{top:8px;bottom:auto;max-width:calc(100vw - 32px);width:calc(100vw - 32px);box-sizing:border-box;padding:8px 10px}body:has(#welcome[hidden]) .mission{top:110px!important}body:has(#welcome[hidden]) .status{top:110px!important}.online-bar-top{gap:7px}#online-code{font-size:11px}#online-roster{margin-top:5px}#online-bar #online-status{font-size:9px}}
@media(max-height:500px){.online-welcome{padding:18px 28px!important}.online-welcome h2{font-size:30px!important}.online-welcome .intro-controls,.online-welcome small{display:none}.online-welcome>p{margin-bottom:10px}.join-divider{margin-top:12px}#online-bar{bottom:auto;top:8px;left:50%;max-width:420px}#online-roster{margin-top:4px}}
#personal-gear{bottom:76px}.mission{max-width:390px}.mission #objective-detail{max-width:310px}.player-label{font-size:15px}.prototype-note{display:none}@media(max-width:600px){.mission{max-width:52vw}.mission #objective-detail{max-width:48vw}.touch-enabled #personal-gear{bottom:156px}}

.map-description{font-size:11px!important;line-height:1.5!important;color:#6a775e;margin:7px 0 12px!important}.map-title{text-transform:uppercase;letter-spacing:1.8px;font-size:10px!important;margin:0 0 7px!important;color:#fff5d8}#online-map{font-size:10px;margin:6px 0 0;color:#63744e}.adventure-label{font-size:11px;z-index:3;pointer-events:none}.adventure-label.enemy-warning{background:#a84c2a;color:#fff4dc}body.hurt:after{content:'';position:fixed;inset:0;pointer-events:none;z-index:25;box-shadow:inset 0 0 90px #cd492878;animation:hurt-flash .6s ease-out}@keyframes hurt-flash{from{opacity:1}to{opacity:0}}@media(max-width:600px){.map-title{font-size:9px!important}.online-welcome{max-height:calc(100dvh - 22px)!important}.online-welcome h2{margin:10px 0!important}#online-map{font-size:9px}}

#ammo-stock{font-size:10px;margin:4px 0;color:#e2d4ad}#ammo-actions button{font:inherit;font-size:11px;margin-top:6px;padding:7px 9px;border:1px solid #d5bd8b;border-radius:4px;background:#e9c281;color:#293f31}#ammo-actions:empty{display:none}
