/* Camp Chaos 2.0 first visual slice. Existing hit targets and game logic retained. */
.wardrobe{background:linear-gradient(145deg,#20262b,#101316);border:1px solid #ac3543;border-radius:18px;padding:20px}
#workwear>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}
#workwear h4{grid-column:1/-1;letter-spacing:.13em;color:#e2d9ce}
#workwear button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-width:0;padding:12px;border:1px solid #45444a;border-radius:12px;background:linear-gradient(145deg,#282b30,#15171c);color:#f6eee4;position:relative;overflow:hidden}
#workwear button[aria-pressed=true]{border-color:#ff4d5b;box-shadow:inset 0 0 0 1px #ff4d5b,0 4px 18px #0005;opacity:1}
#workwear button:disabled:not([aria-pressed=true]){opacity:.6}
#workwear button small{margin-top:8px;line-height:1.4}
#workwear .swatch{display:block;width:100%;height:auto;aspect-ratio:1;background-color:transparent!important;background-image:url('assets/v2/gear.png')!important;background-size:200% 200%!important;background-repeat:no-repeat;border:0;border-radius:8px;box-shadow:none}
#workwear [data-kind=shirt] .swatch{background-position:0 0!important}
#workwear [data-kind=hat] .swatch{background-position:100% 0!important}
#workwear [data-kind=boots] .swatch{background-position:0 100%!important}
#workwear [data-kind=tool] .swatch{background-position:100% 100%!important}
#workwear .gear-benefit{color:#c1d3c6;border-top:1px solid #ffffff14;padding-top:8px}
#workwear .swatch:after{content:'GEAR CATEGORY PREVIEW';display:block;font:8px Arial;color:#c9bdb4;background:#101316b8;padding:3px;width:max-content}
@media(min-width:700px){#workwear>div{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.wardrobe *{animation:none!important;transition:none!important}}
/* 2.0 field presentation: neutral charcoal, restrained KCI red and legible overlays. */
.in-shift .field-hud,.in-shift .map-controls{background:linear-gradient(145deg,rgba(18,21,25,.97),rgba(7,9,12,.95));border:1px solid #a73742;box-shadow:0 6px 22px #0006}
.in-shift .map-wrap{background:#20221e}
.in-shift .map-target{box-shadow:0 3px 10px #0008;border-color:#e8c58e}
.in-shift .map-target small{background:#11151bf2;color:#fff4e4;border-radius:4px;padding:3px 5px;text-shadow:none}
.in-shift #quick-crew button{background:linear-gradient(155deg,#282c32,#15181d);border:1px solid #515761;border-bottom:2px solid #ad3442;box-shadow:inset 0 1px #ffffff12}
.in-shift #quick-crew button.selected,.in-shift #quick-crew button[aria-pressed=true]{border-color:#ff6876;background:#44232c;box-shadow:inset 0 0 0 1px #ef5265,0 2px 7px #0005}
.in-shift #quick-crew button:focus-visible,.in-shift .map-target:focus-visible{outline:3px solid #ffe0a0;outline-offset:2px}
.in-shift #quick-crew .quick-xp{height:3px;background:#070a0e}
.in-shift #quick-crew .worker-level{background:#171a20;border-color:#a84450;color:#ffe5b2}
.in-shift .map-camera button{background:#12171ee8;border-color:#72414b;box-shadow:0 3px 9px #0004}
/* Operational buildings stay tappable without looking like urgent alarms. */
.in-shift .map-target:not(.alarm):not(.assigned):not(.focused){background:#12191dc9;border-color:#b6c8b14d;box-shadow:0 2px 6px #0005}
.in-shift .map-target:not(.alarm):not(.assigned):not(.focused)>span{color:#b4d5ad;font-size:13px}
.in-shift .map-target.alarm{border-color:#ff6b72;background:#3b1723ed;box-shadow:0 0 0 2px #ff525521,0 4px 12px #0008}
.in-shift .map-target.focused{outline:2px solid #ffe0a0;outline-offset:3px}
.in-shift #quick-crew{scrollbar-color:#b54552 #101419;scroll-padding:6px}
.in-shift #quick-crew button{min-height:54px;border-radius:9px}
.in-shift #quick-crew button:active{background:#4b2632}
@media(max-width:600px){
 .in-shift #planning-bar{padding:10px 12px;border-radius:12px;background:#10141af2;box-shadow:0 6px 20px #0005}
 .in-shift #planning-title{font-size:14px;letter-spacing:.04em}
 .in-shift #planning-detail{font-size:11px;line-height:15px;margin:5px 0 8px}
 .in-shift #begin-shift{min-height:44px;padding:9px}
 .in-shift .map-target small{font-size:9px;line-height:12px;letter-spacing:0}
}
/* Strategy briefing: names stay visible in a two-column phone roster. */
.strategy-brief{margin:18px 0;padding:14px;background:#11151b;border:1px solid #d52c43;border-radius:14px;text-align:left}
.strategy-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0;max-height:42vh;overflow:auto;overscroll-behavior:contain}
.strategy-roster button{min-height:66px;padding:10px 8px;text-align:left;white-space:normal;background:#191e26;border:1px solid #64323d;border-radius:10px;color:#fff}
.strategy-roster button b,.strategy-roster button small{display:block;overflow-wrap:anywhere}
.strategy-roster button small{font-size:11px;color:#bdc8ce;margin-top:5px}
.strategy-roster button[aria-pressed=true]{border:2px solid #f44a5d;background:#361d26}
.strategy-roster button:disabled{opacity:.45}
.strategy-brief p,#bench-dialog p{font-size:13px;line-height:1.5;color:#c8d1da}
#bench-dialog{width:min(94vw,600px);background:#0f1218;color:#fff;border:1px solid #e33a50;border-radius:18px;padding:18px}
.map-camera{flex-wrap:wrap;max-width:230px}
#play-speed,#add-bench{min-height:44px;min-width:44px;border-color:#ef3d53}
.safety-pop{border:2px solid #ffd66a!important;box-shadow:0 0 20px #ffd66a35}
#camp-event:has(#safety-cast:not([hidden])){padding-right:115px;min-height:90px;pointer-events:none}
#safety-cast{position:absolute;right:0;bottom:0;width:112px;height:100px;pointer-events:none}
@media(prefers-reduced-motion:no-preference){.safety-pop{animation:safety-announce .35s ease-out}@keyframes safety-announce{from{transform:translateY(-10px) scale(.96);opacity:.4}to{transform:none;opacity:1}}}
