/* Active Zombie Outpost shell. The world renderer remains the gameplay source. */
:root {
  color-scheme: dark;
  --cream: #111612;
  --ink: #e7e9de;
  --green: #c5a35c;
  --gold: #d0ad67;
  --line: #303a30;
  --outpost-bg: #101510;
  --outpost-surface: #1a211a;
  --outpost-raised: #242c23;
  --outpost-muted: #a0aa98;
}
body.zombie-adventure {
  margin: 0;
  background: var(--outpost-bg);
  color: var(--ink);
  font: 13px/1.5 "Segoe UI", Tahoma, sans-serif;
  min-width: 320px;
}
.zombie-adventure *, .zombie-adventure *::before, .zombie-adventure *::after { box-sizing: border-box; }
.zombie-adventure button, .zombie-adventure summary { -webkit-tap-highlight-color: transparent; }
.zombie-adventure button { transition: background .16s, border-color .16s, color .16s; }
.zombie-adventure button:focus-visible, .zombie-adventure a:focus-visible,
.zombie-adventure input:focus-visible, .zombie-adventure summary:focus-visible { outline: 2px solid #e8c47b; outline-offset: 3px; }
.zombie-adventure button:disabled { opacity: .55; cursor: not-allowed; }
.zombie-adventure > header {
  max-width: none; height: 66px; padding: 0 28px; border-bottom: 1px solid #303a30;
  background: #171d17; gap: 16px;
}
.zombie-adventure .brand { color: #e8eadd; font: 700 21px/1 "Bahnschrift", "Arial Narrow", sans-serif; letter-spacing: .065em; gap: 11px; }
.zombie-adventure .brand img { background: #303b2c; width: 32px; height: 39px; border: 1px solid #4b5641; border-radius: 3px; padding: 3px; }
.zombie-adventure .game-version { color: #aab49b; font-size: 8px; letter-spacing: .24em; margin-top: 6px; }
.zombie-adventure .header-actions { gap: 9px; }
.zombie-adventure #connection { color: #afbda3; font-size: 11px; margin-right: 9px; max-width: 200px; }
.zombie-adventure #connection::before { content: ''; display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: #a2b777; margin-right: 7px; vertical-align: middle; }
.zombie-adventure #connection.offline { color: #e39882; }
.zombie-adventure #connection.offline::before { background: #db8d78; }
.zombie-adventure .quiet { min-height: 36px; border: 1px solid #414c3c; border-radius: 4px; background: transparent; color: #c8cfbd; padding: 6px 11px; font-size: 11px; }
.zombie-adventure .quiet:hover { background: #2c3529; border-color: #7b8969; }
.zombie-adventure #fullscreen-btn { font-size: 20px; display: flex; align-items: center; gap: 7px; }
.zombie-adventure #fullscreen-btn span { font-size: 11px; }
.zombie-adventure main { max-width: 1640px; margin: auto; padding: 16px 28px 12px; }
.zombie-adventure .heading { margin-bottom: 14px; min-height: 52px; gap: 16px; align-items: center; }
.zombie-adventure .heading h1 { color: #e7e9de; font-size: 22px; margin: 0; letter-spacing: -.4px; }
.zombie-adventure .heading .eyebrow { display: none; }
.zombie-adventure .heading p { font-size: 11px; margin: 2px 0 0; color: #9eaa94; }
.zombie-adventure .eyebrow { color: #b6a16f; font-size: 9px; letter-spacing: .16em; }
.zombie-adventure h2 { color: #e1e6d7; }
.zombie-adventure p { color: var(--outpost-muted); }
.zombie-adventure #room-badge { border: 1px solid #3c4635; border-radius: 4px; padding: 7px 12px; display: flex; align-items: center; gap: 12px; width: auto; margin: 0; background: #1b2219; }
.zombie-adventure #room-badge small { font-size: 10px; color: #9da88d; }
.zombie-adventure #room-code { font: 600 17px/1 "Bahnschrift", monospace; letter-spacing: .16em; color: #dfbd7b; }
.zombie-adventure .room-identity { display: flex; align-items: center; gap: 10px; }
.zombie-adventure .room-actions { display: flex; align-items: center; gap: 6px; }
.zombie-adventure .room-actions button { min-height: 32px; padding: 5px 9px; font-size: 11px; }
.zombie-adventure #leave-room { margin-top: 0; color: #c3b59b; }
.zombie-adventure .primary { border: 1px solid #d7b471; background: #c5a35c; color: #182016; border-radius: 4px; box-shadow: none; font-weight: 700; }
.zombie-adventure .primary:hover:not(:disabled) { background: #dfbf7b; border-color: #edce90; }
.zombie-adventure .primary:active:not(:disabled) { transform: translateY(1px); box-shadow: none; }
.zombie-adventure .secondary { border: 1px solid #606d50; color: #d4dcc7; background: #293426; border-radius: 4px; }
.zombie-adventure .secondary:hover { background: #374330; }
.zombie-adventure input { border: 1px solid #46513d; border-radius: 4px; background: #151c14; color: #e5e9dc; min-height: 48px; padding: 12px 13px; }
.zombie-adventure input::placeholder { color: #6e7c66; }
.zombie-adventure .layout { position: relative; grid-template-columns: minmax(0,1fr) 288px; gap: 18px; align-items: start; }
.zombie-adventure .adventure { min-width: 0; display: block; }
.zombie-adventure .world { border: 1px solid #424e39; border-radius: 7px; background: #1b231a; box-shadow: 0 12px 28px #0003; }
.zombie-adventure .worldbar { background: #252f23; color: #bfccb0; padding: 7px 12px; font-size: 10px; letter-spacing: .04em; min-height: 29px; }
.zombie-adventure #coords { color: #8f9f81; font: 11px "Bahnschrift", monospace; }
.zombie-adventure .mission-bar { margin: 0; border: 0; border-bottom: 1px solid #34402d; border-radius: 0; background: #20291c; padding: 7px 12px; font-size: 10px; gap: 12px; min-height: 32px; }
.zombie-adventure .mission-info { gap: 9px; white-space: nowrap; }
.zombie-adventure .mission-info span { color: #a8b897; font-weight: 400; }
.zombie-adventure #mission-status-text { color: #debb75; font-weight: 600; }
.zombie-adventure .mission-track { max-width: none; height: 4px; background: #3b4534; border-radius: 1px; }
.zombie-adventure .mission-track i { background: #c9aa67; border-radius: 1px; }
.zombie-adventure .mission-reward { color: #9aa98b; font-size: 9px; }
.zombie-adventure .riskbar { background: #182117; border: 0; padding: 6px 12px; font-size: 10px; min-height: 36px; gap: 4px 12px; }
.zombie-adventure .riskbar strong { color: #bdcda8; font-weight: 500; font-size: 10px; }
.zombie-adventure .riskbar span { color: #a9b398; }
.zombie-adventure .cycle-state, .zombie-adventure .cycle-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.zombie-adventure .cycle-pill { border-radius: 3px; padding: 3px 7px; border: 1px solid #6e7445; background: #3b4228; color: #ddd0a0; font-size: 9px; white-space: nowrap; }
.zombie-adventure .cycle-pill.night { background: #372b2b; border-color: #8f6255; color: #f0b7a0; }
.zombie-adventure #cycle-timer { font-variant-numeric: tabular-nums; color: #d5d9c9; }
.zombie-adventure .btn-skip-cycle { background: #483125; color: #e8bc89; border: 1px solid #70533b; border-radius: 3px; min-height: 26px; padding: 3px 8px; font-size: 9px; }
.zombie-adventure .btn-skip-cycle:hover { background: #63412c; }
.zombie-adventure .btn-skip-cycle.day-mode { background: #34412a; border-color: #738753; color: #d5e4b7; }
.zombie-adventure .survival-hud { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; background: #151d14; border: 0; padding: 6px 12px 8px; }
.zombie-adventure .vital { min-width: 0; }
.zombie-adventure .vital > div:first-child { display: flex; justify-content: space-between; align-items: center; font-size: 10px; color: #a7b69b; margin-bottom: 3px; }
.zombie-adventure .vital strong { color: #dbe5cd; font-size: 10px; font-variant-numeric: tabular-nums; }
.zombie-adventure .vital-track { background: #333e2d; height: 4px; border: 0; border-radius: 1px; overflow: hidden; }
.zombie-adventure .vital-track i { height: 100%; display: block; border-radius: 1px; }
.zombie-adventure .viewport { margin: 0; border-radius: 0; border-block: 1px solid #4c543c; height: clamp(340px, 55vh, 650px); background: #202a1b; }
.zombie-adventure #game { display: block; width: 100%; height: 100%; aspect-ratio: auto; image-rendering: pixelated; touch-action: none; }
.zombie-adventure .viewport:focus-within { box-shadow: inset 0 0 0 1px #b49c5d; }
.zombie-adventure .viewport .map-home, .zombie-adventure .viewport .map-cart { position: absolute; top: auto; bottom: 10px; min-height: 32px; padding: 5px 10px; border-radius: 3px; border: 1px solid #78825a; background: #192217ed; color: #d4ddbd; font-size: 10px; box-shadow: 0 3px 12px #0004; }
.zombie-adventure .viewport .map-home { right: 10px; }
.zombie-adventure .viewport .map-cart { left: 10px; }
.zombie-adventure .viewport .map-home:hover, .zombie-adventure .viewport .map-cart:hover { background: #3b472b; }
.zombie-adventure .expedition-nav { display: flex; gap: 6px; padding: 8px 10px; flex-wrap: wrap; align-items: stretch; }
.zombie-adventure .expedition-nav > button, .zombie-adventure .field-tools summary,
.zombie-adventure .field-tools button { min-height: 34px; border: 1px solid #47533d; border-radius: 3px; background: #2a3525; color: #c6d0b9; padding: 6px 10px; font-size: 10px; box-shadow: none; font-weight: 500; white-space: nowrap; }
.zombie-adventure .expedition-nav button:hover { background: #3d4a30; border-color: #7d8d61; }
.zombie-adventure .expedition-nav kbd { background: transparent; border: 1px solid #677252; color: #e3d7ad; font-size: 9px; border-radius: 2px; padding: 0 4px; margin-right: 4px; }
.zombie-adventure .expedition-nav #shoot-btn { background: #c3a160!important; color: #172014!important; border-color: #d8b778!important; font-weight: 700; }
.zombie-adventure .expedition-nav #shoot-btn:hover { background: #e0bf79!important; }
.zombie-adventure .expedition-nav #shoot-btn kbd { border-color: #89733f; color: #2a311d; }
.zombie-adventure .expedition-nav #build-btn { background: #39482c!important; color: #dbe4c8!important; border-color: #637950!important; }
.zombie-adventure .field-tools { margin-left: auto; position: relative; min-width: 130px; }
.zombie-adventure .field-tools summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 20px; }
.zombie-adventure .field-tools summary::-webkit-details-marker { display: none; }
.zombie-adventure .field-tools summary span { color: #c1aa75; transition: transform .18s; }
.zombie-adventure .field-tools[open] summary span { transform: rotate(180deg); }
.zombie-adventure .field-tools-grid { position: absolute; z-index: 25; right: 0; bottom: 42px; display: grid; grid-template-columns: 1fr 1fr; gap: 6px; width: 305px; padding: 10px; background: #1c261af5; border: 1px solid #5c6d4a; box-shadow: 0 8px 30px #0008; border-radius: 4px; animation: toolReveal .15s ease-out; }
.zombie-adventure .field-tools .map-cart { position: static; }
.zombie-adventure .field-tools button { width: 100%; white-space: normal; }
.zombie-adventure .field-tools #btn-fast-cycle { grid-column: 1/-1; background: #3d3022!important; color: #d5b382; border-color: #695237!important; }
.zombie-adventure .worldfoot { display: flex; padding: 0 12px 8px; color: #8d9a80; font-size: 9px; gap: 8px; }
.zombie-adventure .worldfoot kbd { background: transparent; border: 0; padding: 0; color: #bfcca8; font-size: 9px; }
.zombie-adventure .key-divider { padding: 0 8px; color: #59684d; }
.zombie-adventure .play-controls { display: grid; grid-template-columns: 215px minmax(0,1fr) 108px; padding-top: 10px; gap: 10px; align-items: center; }
.zombie-adventure .cargo { border-radius: 4px; border: 1px solid #3c4932; background: #20291c; padding: 6px 10px; min-width: 0; gap: 9px; }
.zombie-adventure .cargo img { width: 35px; height: 35px; }
.zombie-adventure .cargo small { color: #8e9e7f; font-size: 8px; letter-spacing: .08em; }
.zombie-adventure .cargo strong { color: #d2dcc0; font-size: 12px; }
.zombie-adventure .context { min-width: 0; }
.zombie-adventure .context > .primary { min-height: 48px; font-size: 11px; background: #334629; color: #d8e2c7; border-color: #62754b; padding: 8px 10px; line-height: 1.4; }
.zombie-adventure #near-actions { gap: 4px; margin: 0; }
.zombie-adventure #near-actions:not(:empty) { margin-top: 6px; }
.zombie-adventure #near-actions button { background: #293823; border: 1px solid #536946; color: #c6d7b2; border-radius: 3px; font-size: 10px; }
.zombie-adventure .dpad { display: grid; grid-template-columns: repeat(3,33px); grid-template-rows: repeat(2,24px); gap: 3px; }
.zombie-adventure .dpad button { width: 33px; height: 24px; border-radius: 3px; background: #222e1e; color: #b7c8a1; border: 1px solid #48583b; font-size: 15px; padding: 0; }
.zombie-adventure .dpad button.pressed { background: #667f46; color: #f3f0d6; }
.zombie-adventure #play aside { display: flex; flex-direction: column; gap: 0; min-width: 0; border: 1px solid #35422c; background: #1a2218; border-radius: 6px; overflow: hidden; }
.zombie-adventure .panel { background: transparent; border: 0; border-radius: 0; padding: 14px; margin: 0; }
.zombie-adventure #play aside > .panel { border-bottom: 1px solid #35422c; width: 100%; }
.zombie-adventure #play aside > .panel:last-child { border-bottom: 0; }
.zombie-adventure .panel h2 { font-size: 15px; font-weight: 600; margin: 4px 0 8px; }
.zombie-adventure .panel-heading { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.zombie-adventure .hq-panel { order: 1; }
.zombie-adventure .base-supply-row { display: flex; align-items: center; gap: 12px; margin: 8px 0; }
.zombie-adventure .house-preview { width: 70px; height: 67px; flex: 0 0 70px; background: #263120; border: 1px solid #3a492e; border-radius: 4px; }
.zombie-adventure .house-preview img { width: 64px; height: 60px; object-fit: contain; }
.zombie-adventure .counts { flex: 1; justify-content: space-between; gap: 8px; color: #94a187; font-size: 9px; }
.zombie-adventure .counts b { font-size: 21px; line-height: 1.3; color: #ded4ad; font-variant-numeric: tabular-nums; font-weight: 600; }
.zombie-adventure .base-perk { padding: 7px 0; border-top: 1px solid #32412a; }
.zombie-adventure #base-perk-tag { display: block; font-size: 10px; color: #c7b578; font-weight: 500; }
.zombie-adventure #base-perk-desc { font-size: 9px; color: #8f9f81; margin: 3px 0 5px; line-height: 1.5; }
.zombie-adventure #btn-upgrade-base { width: 100%; font-size: 10px; padding: 7px 8px; line-height: 1.5; min-height: 39px; }
.zombie-adventure .arsenal-panel { order: 2; }
.zombie-adventure .weapon-slots-grid { gap: 5px; margin: 9px 0; }
.zombie-adventure .weapon-slot-card { background: #212c1d; border: 1px solid #3c4c31; border-radius: 3px; padding: 7px 8px; min-height: 35px; gap: 8px; }
.zombie-adventure .weapon-slot-card:hover:not(.locked) { background: #34452a; border-color: #8a9e65; }
.zombie-adventure .weapon-slot-card.active { background: #3e4930!important; border-color: #a58e50!important; color: #f0e6bd; box-shadow: inset 2px 0 #dbba6f; }
.zombie-adventure .weapon-slot-card.locked { background: transparent; opacity: .57; }
.zombie-adventure .weapon-name-tag { font-size: 10px; font-weight: 500; }
.zombie-adventure .weapon-ammo-count { font-size: 10px; color: #d8ba74; white-space: nowrap; }
.zombie-adventure #btn-open-craft { padding: 5px 7px!important; font-size: 9px!important; background: #2d3e25; color: #d3debc; border-color: #586c40; white-space: nowrap; }
.zombie-adventure .ammo-pouch-box { background: transparent; border: 0; border-top: 1px solid #34452a; border-radius: 0; padding: 8px 0 0; margin-top: 9px; }
.zombie-adventure .ammo-pouch-box > small { color: #899c79!important; font-size: 9px!important; }
.zombie-adventure .ammo-tags { gap: 5px; margin-top: 6px; }
.zombie-adventure .ammo-tag { background: #2c3923; color: #bbcea3; font-size: 9px; padding: 2px 6px; border-radius: 2px; font-weight: 500; }
.zombie-adventure .panel .small { font-size: 9px; color: #809273; line-height: 1.4; margin: 8px 0 0; }
.zombie-adventure .crew-panel { order: 3; }
.zombie-adventure #member-count { font-size: 13px; margin-bottom: 8px; }
.zombie-adventure #members { max-height: 118px; overflow-y: auto; gap: 7px; }
.zombie-adventure .member { font-size: 10px; gap: 8px; }
.zombie-adventure .member img { width: 22px; height: 29px; }
.zombie-adventure .member small { font-size: 9px; color: #859875; }
.zombie-adventure .rank-panel { order: 4; }
.zombie-adventure .rank-panel > div:first-child { gap: 8px; flex-wrap: wrap; }
.zombie-adventure .rank-panel .eyebrow { font-size: 8px; }
.zombie-adventure #rank-display-name { font-size: 10px!important; }
.zombie-adventure .military-rank-card { background: transparent; border: 0; border-radius: 0; padding: 0; box-shadow: none; }
.zombie-adventure .rank-insignia-badge { min-width: 34px; height: 36px; background: #202b1c; border-width: 1px; border-radius: 3px; font-size: 15px; text-shadow: none; box-shadow: none; }
.zombie-adventure .rank-card-header { gap: 9px; }
.zombie-adventure .rank-display-title { font-size: 9px; }
.zombie-adventure .rank-exp-section { margin-top: 5px; }
.zombie-adventure .rank-exp-bar-container { height: 4px; background: #303e27; border: 0; }
.zombie-adventure .rank-exp-fill { background: #b6a061; }
.zombie-adventure .rank-exp-text { font-size: 8px; margin-top: 3px; color: #93a482; }
.zombie-adventure .rank-active-perk { background: transparent; border: 0; color: #9caa8e; font-size: 9px; padding: 0; margin-top: 8px; line-height: 1.4; }
.zombie-adventure .btn-open-dossier { background: #2c3924; border: 1px solid #50643c; color: #bacba4; border-radius: 3px; min-height: 30px; margin-top: 9px; font-size: 9px; padding: 5px 7px; }
.zombie-adventure .rank-details > summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; list-style: none; cursor: pointer; color: #cbd5ba; font-size: 11px; min-height: 26px; }
.zombie-adventure .rank-details > summary::-webkit-details-marker { display: none; }
.zombie-adventure .rank-details > summary::after { content: '⌄'; color: #bda977; }
.zombie-adventure .rank-details[open] > summary::after { transform: rotate(180deg); }
.zombie-adventure .rank-details .military-rank-card { margin-top: 13px; }
/* Thai operational labels remain readable at normal display scale. */
.zombie-adventure .mission-bar { font-size: 11px; }
.zombie-adventure .mission-reward { font-size: 10px; }
.zombie-adventure .riskbar, .zombie-adventure .riskbar strong { font-size: 11px; }
.zombie-adventure .vital > div:first-child, .zombie-adventure .vital strong { font-size: 11px; }
.zombie-adventure .expedition-nav > button, .zombie-adventure .field-tools summary { font-size: 11px; }
.zombie-adventure .cargo small { font-size: 9px; }
.zombie-adventure .cargo strong { font-size: 13px; }
.zombie-adventure .counts { font-size: 11px; }
.zombie-adventure #base-perk-tag { font-size: 11px; }
.zombie-adventure #base-perk-desc { font-size: 11px; line-height: 1.6; }
.zombie-adventure #btn-upgrade-base { font-size: 11px; }
.zombie-adventure .weapon-name-tag, .zombie-adventure .weapon-ammo-count { font-size: 11px; }
.zombie-adventure .panel .small { font-size: 10px; line-height: 1.5; }
.zombie-adventure .member { font-size: 11px; }
.zombie-adventure .member small { font-size: 10px; }
.zombie-adventure .rank-display-title, .zombie-adventure .rank-active-perk { font-size: 10px; }
.zombie-adventure .rank-exp-text { font-size: 9px; }
.zombie-adventure .alert-banner-float { top: 145px; width: max-content; max-width: calc(100% - 40px); border: 1px solid #be8a59; background: #503321ee; color: #f1d0a6; padding: 12px 20px; border-radius: 4px; font-size: 13px; box-shadow: 0 8px 24px #0007; text-align: center; }
.zombie-adventure .message { min-height: 20px; font-size: 10px; margin: 8px 0 0; color: #95a685; }
.zombie-adventure .craft-modal, .zombie-adventure .rank-dossier-modal { padding: 16px; background: #081007c9; backdrop-filter: blur(8px); }
.zombie-adventure .craft-modal-content, .zombie-adventure .dossier-content { background: #1a2517; border: 1px solid #6b7c4c; border-radius: 6px; max-height: calc(100dvh - 40px); width: min(720px,100%); }
.zombie-adventure .craft-header, .zombie-adventure .dossier-header { background: #2c3923; border-color: #455735; padding: 15px 18px; }
.zombie-adventure .craft-header .eyebrow, .zombie-adventure .dossier-header .eyebrow { color: #d2b877!important; font-size: 9px; }
.zombie-adventure .craft-header h2, .zombie-adventure .dossier-header h2 { font-size: 17px; }
.zombie-adventure .close-btn { border: 1px solid #586c42; border-radius: 3px; color: #d9e3c9; min-width: 36px; min-height: 36px; padding: 0; }
.zombie-adventure .craft-stash-bar { background: #24311c; border-color: #3d5030; padding: 9px 18px; flex-wrap: wrap; gap: 7px 16px; }
.zombie-adventure .craft-stash-bar b { color: #d2bd7b; }
.zombie-adventure .craft-tabs { background: #151e12; border-color: #35472a; }
.zombie-adventure .tab-btn { color: #99ac87; }
.zombie-adventure .tab-btn.active { color: #dfc27c; border-color: #d5b675; background: #26341e; }
.zombie-adventure .craft-grid { padding: 15px 18px; gap: 9px; }
.zombie-adventure .craft-card { background: #283620; border-color: #465b34; border-radius: 4px; padding: 12px; gap: 14px; }
.zombie-adventure .craft-card h3 { font-size: 14px; color: #e6e7ce; }
.zombie-adventure .craft-card p { color: #acb89a; }
.zombie-adventure .craft-btn, .zombie-adventure .btn-upgrade-weapon { background: #b39754; color: #162111; border: 1px solid #d8ba77; border-radius: 3px; }
.zombie-adventure .craft-btn:disabled { background: #46523a; color: #a3ae96; border-color: #5f6a50; }
.zombie-adventure .dossier-stat-box { background: #26341e; border-color: #465c33; }
.zombie-adventure .dossier-stat-box strong { color: #d9bf7a; }
/* Lobby: one quiet deployment screen, with a sprite-built forest scene. */
.zombie-adventure:has(#lobby:not(.hidden)) .heading { display: none; }
.zombie-adventure .lobby { max-width: 1190px; margin: 30px auto 20px; padding: 0; display: grid; grid-template-columns: minmax(0,1.45fr) minmax(300px,.8fr); gap: 80px; background: transparent; border: 0; overflow: visible; }
.zombie-adventure .expedition-intro { min-width: 0; animation: deployEntrance .5s ease-out both; }
.zombie-adventure .expedition-intro > .eyebrow { color: #b9a26a; letter-spacing: .18em; }
.zombie-adventure .expedition-intro h2 { font-size: clamp(44px,4.6vw,68px); line-height: 1.18; font-weight: 600; letter-spacing: -2px; color: #ececda; margin: 18px 0 15px; }
.zombie-adventure .lobby-description { font-size: 13px; line-height: 1.8; color: #9baa8e; }
.zombie-adventure .expedition-art { height: 258px; margin: 26px 0 20px; border: 1px solid #3e4d31; border-radius: 3px; background: linear-gradient(180deg,#18261d 0%,#273a2a 48%,#36452c 49%,#283522 100%); isolation: isolate; }
.zombie-adventure .expedition-art::before { content: ''; position: absolute; left: -15%; right: -15%; bottom: 30%; height: 52%; background: #1d3022; clip-path: polygon(0 100%,5% 55%,12% 72%,18% 25%,25% 62%,31% 12%,35% 54%,42% 32%,49% 65%,55% 10%,61% 53%,69% 26%,74% 70%,82% 23%,88% 59%,94% 15%,100% 100%); opacity: .85; }
.zombie-adventure .expedition-art::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 35%,#070e0528),radial-gradient(ellipse at 45% 85%,transparent 25%,#06100644 95%); z-index: 5; pointer-events: none; }
.zombie-adventure .scene-moon { position: absolute; top: 27px; right: 115px; width: 35px; height: 35px; background: #c5c5a4; border-radius: 50%; box-shadow: 0 0 50px #b6bc7d18; opacity: .65; }
.zombie-adventure .scene-road { position: absolute; bottom: -20px; left: 20%; width: 65%; height: 70px; background: #67634545; transform: rotate(-12deg); border: 1px dashed #b4ac6d44; }
.zombie-adventure .scene-light { position: absolute; width: 230px; height: 150px; left: 25%; bottom: -20px; background: radial-gradient(ellipse,#d4b1642c,transparent 65%); z-index: 3; }
.zombie-adventure .expedition-art .scene-house { width: 192px; height: 190px; left: 31%; bottom: 25px; z-index: 2; filter: brightness(.92) saturate(.7); }
.zombie-adventure .expedition-art .scene-tree { width: 110px; height: 90px; left: 9%; bottom: 21px; z-index: 3; filter: brightness(.67) saturate(.65); }
.zombie-adventure .expedition-art .scene-pig { width: 51px; height: 74px; left: 66%; bottom: 23px; z-index: 4; filter: brightness(.8) saturate(.55); }
.zombie-adventure .expedition-art .scene-wolf { width: 41px; height: 63px; right: 15px; bottom: 32px; z-index: 3; filter: brightness(.45) saturate(.4); }
.zombie-adventure .scene-pine-back { height: 176px; width: 142px; left: 1%; bottom: 49px; filter: brightness(.37) saturate(.45); z-index: 1; }
.zombie-adventure .scene-pine-front { height: 228px; width: 195px; right: -45px; bottom: 0; filter: brightness(.4) saturate(.45); z-index: 4; }
.zombie-adventure .scene-caption { position: absolute; left: 14px; top: 12px; z-index: 6; font: 8px "Bahnschrift",sans-serif; color: #bdc3a5; letter-spacing: .16em; }
.zombie-adventure .scene-caption i { display: inline-block; width: 3px; height: 3px; background: #c2ae70; vertical-align: middle; margin: 0 7px; }
.zombie-adventure .expedition-rules { list-style: none; padding: 0; margin: 0; display: grid; gap: 0; }
.zombie-adventure .expedition-rules li { display: flex; align-items: baseline; gap: 22px; border-bottom: 1px solid #2f3c29; padding: 9px 0; font-size: 11px; color: #95a488; }
.zombie-adventure .expedition-rules li:last-child { border: 0; }
.zombie-adventure .expedition-rules b { color: #c6bd99; min-width: 100px; font-size: 11px; font-weight: 500; }
.zombie-adventure #room-form { margin-top: 95px; border-left: 1px solid #3d4a32; padding: 5px 0 5px 32px; align-self: start; gap: 10px; animation: deployEntrance .5s .08s ease-out both; }
.zombie-adventure #room-form h3 { color: #e4e6d4; font-size: 23px; font-weight: 600; line-height: 1.4; margin: 9px 0 0; }
.zombie-adventure #room-form .form-intro { font-size: 11px; color: #92a182; margin: 0 0 15px; line-height: 1.6; }
.zombie-adventure #room-form label { font-size: 11px; color: #bec9ae; }
.zombie-adventure #btn-quick-play { min-height: 49px; margin-top: 6px; font-size: 13px; }
.zombie-adventure #btn-join-room { min-height: 44px; }
.zombie-adventure .or { color: #748867; font-size: 10px; margin: 10px 0; display: flex; align-items: center; gap: 10px; }
.zombie-adventure .or::before, .zombie-adventure .or::after { content: ''; flex: 1; height: 1px; background: #38492c; }
.zombie-adventure .deployment-note { border-top: 1px solid #34462a; padding-top: 13px; margin: 10px 0 0; font-size: 10px; line-height: 1.8; color: #7e9270; }
@keyframes deployEntrance { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: none; } }
@keyframes toolReveal { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
