/* Willow Creek: worn field equipment, quiet brass, readable prose. */
:root{--wc-bg:#101212;--wc-panel:#191d1d;--wc-paper:#e6dfcd;--wc-muted:#a9aeaa;--wc-line:#3c4039;--wc-accent:#d2b77e;--wc-danger:#ed8276;--wc-mono:'SFMono-Regular',Consolas,monospace;--wc-serif:Georgia,'Times New Roman',serif}
.wc-game{background:radial-gradient(ellipse at 60% 0,#29302b 0,transparent 65%),var(--wc-bg)!important;color:var(--wc-paper)!important;font-family:var(--wc-mono)!important;padding:18px clamp(12px,2vw,36px);gap:12px}
.wc-header{min-height:52px;border-bottom:1px solid var(--wc-line)!important;padding:0 0 14px!important}
.wc-header>div:first-child>span:first-child{font-family:var(--wc-serif);color:var(--wc-paper)!important;font-size:clamp(15px,1.6vw,23px)!important;letter-spacing:2px!important;animation:none!important}
.wc-header>div:last-child>div{color:var(--wc-muted)!important;font-size:11px!important}
.wc-layout{gap:18px}.wc-main{border:1px solid var(--wc-line)!important;background:#131717;box-shadow:0 12px 40px #0005;min-width:0}
.wc-scene{aspect-ratio:auto!important;height:clamp(170px,34vh,420px);max-height:40vh!important;border-bottom:1px solid var(--wc-line)!important}
.wc-scene:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#0b1011a6,transparent 45%);box-shadow:inset 0 0 70px #0005}
.wc-story{padding:22px clamp(18px,3vw,44px)!important;scroll-behavior:smooth;background:linear-gradient(135deg,#20231e55,transparent 65%)}
.wc-story .le{max-width:80ch;margin:0 auto 8px;font-family:var(--wc-serif);font-size:17px!important;font-weight:400!important;line-height:1.7!important;letter-spacing:0!important}
.wc-story .le>span{color:var(--wc-paper)!important}
.wc-story [data-kind=command]{font:11px/1.6 var(--wc-mono)!important;text-transform:uppercase;border-top:1px solid var(--wc-line);padding-top:15px;margin-top:20px}
.wc-story [data-kind=command]>span,.wc-story [data-kind=system]>span,.wc-story [data-kind=hint]>span{color:var(--wc-muted)!important}
.wc-story [data-kind=title],.wc-story [data-kind=subtitle]{text-align:left!important;font-size:25px!important;margin-bottom:12px}
.wc-story [data-kind=dialog],.wc-story [data-kind=radio]{border-left:2px solid var(--wc-accent);padding:10px 16px;background:#c7b38008}
.wc-story [data-kind=danger]>span,.wc-story [data-kind=death]>span{color:var(--wc-danger)!important}
.wc-story [data-kind=item]>span,.wc-story [data-kind=success]>span{color:#a9c3b1!important}
.wc-command{background:#101414;border-color:var(--wc-line)!important;padding:12px 18px!important}.wc-command .cmd{min-width:0;background:#222726!important;border:1px solid var(--wc-line)!important;color:var(--wc-paper)!important;min-height:44px}
.wc-command>span{animation:none!important;color:var(--wc-accent)!important}.wc-command>button{background:var(--wc-accent)!important;color:#191b17!important;border-color:var(--wc-accent)!important;letter-spacing:1px}
.wc-sidebar{background:linear-gradient(145deg,#232720,#171c1c)!important;border:1px solid var(--wc-line);padding:20px!important;flex-basis:290px!important;opacity:1!important}
.wc-sidebar>div:first-child{animation:none!important;color:var(--wc-accent)!important;font:11px var(--wc-mono)!important;letter-spacing:3px!important;padding-bottom:14px!important}
.wc-game button,.wc-start button{transition:background .18s ease,border-color .18s ease,transform .18s ease;min-height:36px}
.wc-game button:hover:not(:disabled){border-color:var(--wc-accent)!important;filter:brightness(1.15)}
.wc-game button:disabled{opacity:.45;cursor:not-allowed!important}
.wc-game button:focus-visible,.wc-start button:focus-visible,.wc-game input:focus-visible,.wc-journal :focus-visible{outline:2px solid var(--wc-accent)!important;outline-offset:3px}
.wc-vitals{display:flex;gap:clamp(14px,3vw,48px);align-items:center;flex-shrink:0;padding:4px 0 10px;border-bottom:1px solid var(--wc-line)}
.wc-vital{display:grid;grid-template-columns:1fr auto;column-gap:20px;flex:1;max-width:190px;align-items:center}.wc-vital>span,.wc-condition>span{font:10px var(--wc-mono);text-transform:uppercase;letter-spacing:1.5px;color:var(--wc-muted)}
.wc-vital strong{font-size:14px;font-weight:500}.wc-vital meter{appearance:none;width:100%;height:3px;grid-column:1/-1;margin-top:7px;background:#363b35;border:0}.wc-vital meter::-webkit-meter-bar{background:#363b35;border:0;height:3px}.wc-vital meter::-webkit-meter-optimum-value{background:#a9b89c}.wc-vital meter::-moz-meter-bar{background:#a9b89c}.wc-vital[data-critical=true]{color:var(--wc-danger)}.wc-vital[data-critical=true] meter::-webkit-meter-optimum-value{background:var(--wc-danger)}.wc-condition{margin-left:auto;display:grid;gap:6px}.wc-condition strong{font-size:12px;color:var(--wc-accent)}
.wc-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:10px 18px;border-bottom:1px solid var(--wc-line);background:#181d1c;flex-shrink:0}.wc-eyebrow{font:10px var(--wc-mono);text-transform:uppercase;letter-spacing:2px;color:var(--wc-accent)}.wc-actions>.wc-eyebrow{margin-right:auto}.wc-actions button,.wc-journal button{font:11px var(--wc-mono);color:var(--wc-paper);background:#252c29;border:1px solid #444b40;padding:8px 12px;border-radius:2px;cursor:pointer}.wc-pack-button{display:none}
.wc-journal{margin:auto;width:min(760px,94vw);max-height:85dvh;border:1px solid var(--wc-line);background:#1b201d;color:var(--wc-paper);padding:28px;box-shadow:0 30px 100px #000a}.wc-journal::backdrop{background:#080b0cdc;backdrop-filter:blur(5px)}.wc-journal header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.wc-journal h2{font:30px var(--wc-serif);margin-top:7px}.wc-journal label{font:12px var(--wc-mono);color:var(--wc-muted)}.wc-journal input{display:block;width:100%;padding:12px;margin-top:10px;border:1px solid var(--wc-line);background:#111715;color:var(--wc-paper);font:16px var(--wc-serif)}.wc-journal-count{font:11px var(--wc-mono);color:var(--wc-muted);margin:15px 0}.wc-journal-entries p{font:16px/1.7 var(--wc-serif);padding:12px 0;border-top:1px solid var(--wc-line)}
.wc-start .start-btn{animation:none!important;background:#d2b77e!important;color:#151a15!important;border-color:#d2b77e!important;padding:16px 30px!important;box-shadow:0 4px 30px #0008}.wc-start .start-btn:after{display:none}.wc-start h1{font-family:var(--wc-serif)!important;letter-spacing:3px!important;color:var(--wc-paper)!important;text-shadow:0 3px 25px #000!important}.wc-start *{animation-name:none!important}.wc-start{transition:opacity .35s ease}.wc-start[data-leaving=true]{opacity:0;pointer-events:none}
@keyframes wcArrival{from{opacity:0;transform:scale(1.015)}to{opacity:1;transform:none}}
.wc-game .scene-arrival{animation:wcArrival .45s ease both!important}.wc-game [role=dialog]{background:#141a18f5!important}.wc-game [role=dialog] h2{color:var(--wc-accent)!important}
@media(min-width:1600px){.wc-game{padding-inline:max(36px,calc((100vw - 1560px)/2))}}
@media(max-width:900px){.wc-actions>.wc-eyebrow{display:none}.wc-sidebar{flex-basis:250px!important;padding:14px!important}}
@media(max-width:699px){.wc-game{padding:8px;gap:8px}.wc-header{min-height:42px;padding-bottom:6px!important}.wc-header>div:last-child>div{display:none}.wc-header input[type=range]{display:none}.wc-vitals{gap:12px;padding-bottom:8px}.wc-vital{column-gap:8px}.wc-vital>span{font-size:9px;letter-spacing:0}.wc-condition{display:none}.wc-layout{gap:0}.wc-scene{height:26vh;max-height:230px!important}.wc-story{padding:15px!important}.wc-story .le{font-size:16px!important}.wc-actions{padding:8px;gap:5px}.wc-actions button{min-height:38px;padding:8px 10px}.wc-pack-button{display:block}.wc-sidebar{width:min(320px,90vw)!important}.wc-command{padding:8px!important}.wc-journal{padding:20px}}
@media(max-height:600px){.wc-scene{height:20vh;min-height:90px}.wc-vitals{padding-bottom:4px}.wc-game{gap:5px;padding-top:5px}.wc-header{min-height:35px}.wc-story{padding-block:10px!important}}
@media(prefers-reduced-motion:reduce){.wc-game *,.wc-start *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.wc-scene{height:clamp(150px,30vh,380px)}
.wc-story [data-kind=title],.wc-story [data-kind=subtitle]{font-size:19px!important}
.wc-sidebar .sb{filter:saturate(.4)}
@media(max-width:699px){.wc-scene{height:23vh}}
.wc-story .le{overflow-wrap:anywhere;white-space:normal}
.wc-story{overflow-x:hidden!important}
/* Beta 3: consolidated commands, six distinct meters, equipment-only sidebar. */
.wc-vitals{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}
.wc-vital{max-width:none;min-width:0}.wc-vital strong{font-size:13px}.wc-vital meter{height:6px;border-radius:2px}.wc-vital meter::-webkit-meter-bar{height:6px}.wc-vital meter::-webkit-meter-optimum-value,.wc-vital[data-critical=true] meter::-webkit-meter-optimum-value{background:var(--stat-color)}.wc-vital meter::-moz-meter-bar{background:var(--stat-color)}.wc-vital[data-critical=true] strong{color:var(--wc-danger)}.wc-effects{grid-column:1/-1;font:12px var(--wc-mono);color:var(--wc-danger)}
.wc-main{overflow:auto;display:flex;flex-direction:column}.wc-scene{width:100%;height:auto!important;aspect-ratio:16/9!important;max-height:none!important;min-height:0!important;flex:none!important;box-sizing:content-box}
.wc-story{flex:1 0 240px!important;min-height:240px!important}.wc-story .le{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace!important;font-size:15px!important;max-width:none}.wc-command{position:sticky;bottom:0;z-index:13}
.wc-actions{gap:6px;padding:12px 16px}.wc-actions>.wc-eyebrow{width:100%;margin:0 0 4px;display:block}.wc-encounter{color:var(--wc-danger);width:100%;font-size:13px}.wc-combat-action{color:var(--wc-danger)!important;text-transform:capitalize}
.wc-more-commands{font:11px var(--wc-mono)}.wc-more-commands summary{cursor:pointer;padding:11px 12px;border:1px solid var(--wc-line);min-height:36px}.wc-more-commands[open]{width:100%}.wc-more-commands>div{display:flex;flex-wrap:wrap;gap:6px;padding-top:8px}.wc-more-commands button{text-transform:capitalize}
.wc-equipment-section{padding-bottom:20px;border-bottom:1px solid var(--wc-line)}.wc-equipment-section:last-child{border-bottom:0;flex:1}.wc-equipment-section h2{font:12px var(--wc-mono);letter-spacing:2px;color:var(--wc-accent);display:flex;justify-content:space-between;align-items:center;margin:0 0 16px}.wc-equipment-section h2 span{font-size:10px;letter-spacing:0;color:var(--wc-muted)}.wc-equipment-note{font:12px/1.6 var(--wc-mono);color:var(--wc-muted);margin-bottom:10px}.wc-item{display:flex;align-items:center;gap:8px;border-bottom:1px solid #ffffff08;padding:5px 0}.wc-item-name{flex:1;min-width:0;text-align:left;background:transparent;border:0;color:#bed3ce;font:12px/1.6 var(--wc-mono);cursor:pointer;padding:4px 0;overflow-wrap:anywhere}.wc-item-name small{display:block;color:var(--wc-muted);font-size:10px}.wc-item[data-kind=weapon] .wc-item-name{color:#e6bc61}.wc-item[data-kind=armor] .wc-item-name{color:#68bcec}.wc-item[data-kind=quest] .wc-item-name{color:#bc99eb}.wc-item[data-broken=true] .wc-item-name{color:var(--wc-danger)}.wc-drop{background:transparent;border:1px solid #6f4945;color:var(--wc-danger);padding:4px 8px;cursor:pointer}
@media(max-width:699px){.wc-vitals{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px}.wc-vital>span{font-size:10px}.wc-vital strong{font-size:12px}.wc-story .le{font-size:14px!important}.wc-story{flex-basis:220px!important;min-height:220px!important}.wc-actions{padding:10px}.wc-equipment-section{padding-bottom:15px}}
.wc-scene{border-bottom:0!important;box-shadow:inset 0 -1px var(--wc-line)}
.wc-header>div:first-child>span:last-child{white-space:nowrap;flex-shrink:0}
/* Compact inventory and evenly distributed command controls. */
.wc-sidebar{gap:12px!important;padding:16px!important}
.wc-equipment-section{padding-bottom:10px}
.wc-equipment-section h2{margin-bottom:8px}
.wc-equipment-note{margin-bottom:5px;line-height:1.4}
.wc-item{padding:2px 0;gap:6px}
.wc-item .wc-item-name{min-height:28px;padding:2px 0;line-height:1.35}
.wc-item-name small{line-height:1.25}
.wc-item-name small:empty{display:none}
.wc-item .wc-drop{min-height:26px;min-width:26px;padding:2px 6px}
.wc-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));align-items:stretch}
.wc-actions>.wc-eyebrow,.wc-actions>.wc-encounter,.wc-actions>.wc-more-commands{grid-column:1/-1;width:100%}
.wc-actions>button{width:100%;padding-inline:5px;white-space:nowrap}
.wc-more-commands summary{width:100%;box-sizing:border-box}
.wc-more-commands>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}
@media(max-width:699px){.wc-item .wc-item-name{min-height:32px}.wc-item .wc-drop{min-height:32px;min-width:32px}}
.wc-actions{display:flex}
.wc-command-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:6px;width:100%}
.wc-command-buttons>button{width:100%;padding-inline:5px;white-space:nowrap}
/* Combat emphasis and inventory type colors. */
.wc-more-commands[data-combat=true] summary{background:var(--wc-paper);color:var(--wc-bg);border-color:var(--wc-paper);font-weight:700}
.wc-item[data-kind=consumable] .wc-item-name{color:#9edb86}
.wc-item[data-kind=heal] .wc-item-name,.wc-item[data-kind=cure] .wc-item-name{color:#f2a4b7}
.wc-item[data-kind=buff] .wc-item-name{color:#ddb2f4}
.wc-item[data-kind=material] .wc-item-name{color:#e6ae78}
.wc-item[data-kind=tool] .wc-item-name{color:#70d4ce}
.wc-item[data-kind=navigation] .wc-item-name{color:#aabdf7}
.wc-item[data-kind=ammo] .wc-item-name{color:#ef947d}
.wc-item[data-kind=upgrade] .wc-item-name{color:#d2cf8b}
.wc-item[data-kind=distraction] .wc-item-name{color:#d8a7d3}
.wc-item[data-broken=true] .wc-item-name{color:var(--wc-danger)}
/* Shared field-equipment treatment for map, crafting, and survivor requests. */
.wc-game .wc-themed-dialog{background:linear-gradient(145deg,#202720,#111817)!important;border:1px solid var(--wc-line);color:var(--wc-paper);box-shadow:inset 0 0 100px #0004;font-family:var(--wc-mono)}
.wc-themed-dialog button{background:#29302a!important;border:1px solid #58604e!important;border-radius:2px!important;color:var(--wc-paper)!important;font:12px var(--wc-mono);padding:10px 14px;cursor:pointer}
.wc-themed-dialog button:hover:not(:disabled){background:#374033!important;border-color:var(--wc-accent)!important}
.wc-themed-dialog button:focus-visible{outline:2px solid var(--wc-accent);outline-offset:3px}
.wc-themed-dialog h2,.wc-map>div:first-child>span{color:var(--wc-accent)!important;font-size:20px!important;letter-spacing:3px!important;animation:none!important}
.wc-crafting>div:first-child{background:#1c241f!important;border-bottom:1px solid var(--wc-line);padding:0 0 18px!important}
.wc-crafting p{color:var(--wc-muted)!important;line-height:1.6}
.wc-crafting [aria-pressed=true]{background:var(--wc-accent)!important;color:#151b16!important;border-color:var(--wc-accent)!important}
.wc-crafting .wc-recipe{background:#202721!important;border:1px solid var(--wc-line)!important;border-radius:2px!important;gap:12px!important;padding:20px!important}
.wc-crafting .wc-recipe[data-ready=true]{border-top:2px solid var(--wc-accent)!important}
.wc-recipe h3{color:var(--wc-paper)!important;font-size:16px!important}
.wc-recipe .wc-ingredient{color:#d99b91!important;line-height:1.5}
.wc-recipe .wc-ingredient[data-enough=true]{color:#abc4a1!important}
.wc-recipe button:not(:disabled){background:var(--wc-accent)!important;color:#171d17!important}
.wc-map>div:nth-child(2)>div{color:var(--wc-muted)!important;line-height:1.6}
.wc-map>div:nth-child(2)>div:first-child span{color:var(--wc-accent)!important}
.wc-map-board{border:1px solid var(--wc-line)!important;background:linear-gradient(#b8c5aa09 1px,transparent 1px),linear-gradient(90deg,#b8c5aa09 1px,transparent 1px),radial-gradient(ellipse at 30% 50%,#303a2b,#151d1b)!important;background-size:32px 32px,32px 32px,auto!important}
.wc-map-board svg line{stroke:#b7c39e;stroke-width:1.4}
.wc-map .wc-map-node{padding:10px 6px!important;color:var(--wc-muted)!important;background:#252c27!important;border-color:#4a5145!important}
.wc-map .wc-map-node>div:last-child{color:inherit!important;opacity:.8}
.wc-map .wc-map-node[data-state=here]{color:#171c16!important;background:var(--wc-accent)!important;border-color:#f2d399!important;box-shadow:0 0 20px #d2b77e20!important}
.wc-map .wc-map-node[data-state=available]{color:#d8e5c9!important;border-color:#a1b28b!important;background:#34402e!important}
.wc-map .wc-map-node[data-state=visited]{color:#9ec6cf!important}
.wc-map .wc-map-node[data-state=locked]{color:#edaca0!important;border-color:#98615b!important}
.wc-barter{position:absolute;inset:0;z-index:41;display:grid;place-items:center;overflow:auto;padding:24px}
.wc-barter-card{width:min(560px,100%);border:1px solid var(--wc-line);padding:28px;background:#1d261f;display:flex;flex-direction:column;gap:18px}
.wc-barter p{font-size:14px;line-height:1.6}.wc-barter small{color:var(--wc-muted);line-height:1.6}.wc-offers{display:grid;gap:8px}.wc-talk{width:100%!important;border-color:var(--wc-accent)!important;color:var(--wc-accent)!important}
.wc-map [data-legend=HERE]{color:var(--wc-accent)!important}
.wc-map [data-legend=AVAILABLE]{color:#b5d39b!important}
.wc-map [data-legend=LOCKED]{color:#edaca0!important}
.wc-map [data-legend=VISITED]{color:#9ec6cf!important}

/* Field journal: objectives and survival management share the existing palette. */
.wc-journal-tabs {display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}
.wc-journal-tabs button {flex:1;padding:10px;color:var(--wc-paper);background:var(--wc-panel);border:1px solid var(--wc-line)}
.wc-journal-tabs button[aria-pressed="true"] {background:var(--wc-accent);color:#171b18}
.wc-record {padding:12px 0;border-bottom:1px solid var(--wc-line)}
.wc-record p {margin:6px 0;color:var(--wc-muted)}
.wc-journal section button {padding:8px 10px;margin:4px 0;background:#252c27;color:#e2d6b8;border:1px solid var(--wc-line);cursor:pointer}
.wc-journal section button:disabled {opacity:.45;cursor:default}
.wc-journal .wc-offers {display:flex;flex-wrap:wrap;gap:6px;max-height:160px;overflow:auto}
.wc-journal h3 {margin:18px 0 8px;font-size:14px;color:#d4b878}
.wc-journal-feedback {padding:12px;border:1px solid var(--wc-line);color:#b9cfc2}
.wc-run-report {padding:18px;background:#1c2520;border:1px solid #d4b878;margin:12px 0;max-height:240px;overflow:auto}
.wc-run-report h2 {color:#d4b878;font-size:18px}.wc-run-report p {margin:8px 0}

/* Splash release history uses a native, keyboard-accessible modal. */
.wc-splash-tools{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:20px auto 0}
.wc-splash-tools button{background:transparent;border:1px solid var(--wc-line);border-radius:3px;padding:8px 16px;color:var(--wc-accent);font:13px var(--wc-mono);letter-spacing:2px;cursor:pointer}
.wc-splash-tools button:hover{background:#d2b77e15}
.wc-changelog{box-sizing:border-box;width:min(760px,calc(100vw - 24px));max-height:85dvh;margin:auto;padding:clamp(18px,4vw,32px);overflow-y:auto;background:var(--wc-panel);color:var(--wc-paper);border:1px solid var(--wc-line);box-shadow:0 24px 90px #000a;font:14px/1.65 var(--wc-mono);text-align:left}
.wc-changelog::backdrop{background:#050909d9;backdrop-filter:blur(5px)}
.wc-changelog header{display:flex;align-items:center;justify-content:space-between;gap:16px}
.wc-changelog h2{font:30px var(--wc-serif);margin:8px 0;color:var(--wc-paper)}
.wc-changelog button{padding:8px 14px;background:#252c29;border:1px solid var(--wc-line);color:var(--wc-paper);font:12px var(--wc-mono);cursor:pointer}
.wc-changelog section{border-top:1px solid var(--wc-line);margin-top:24px;padding-top:20px}
.wc-changelog h3{font-size:15px;color:var(--wc-accent);margin:0 0 8px}
.wc-changelog-intro,.wc-changelog-date{color:var(--wc-muted);font-size:12px}
.wc-changelog ul{padding-left:20px;margin-top:14px}.wc-changelog li{margin-bottom:12px}
.wc-changelog button:focus-visible,.wc-splash-tools button:focus-visible{outline:2px solid var(--wc-accent);outline-offset:3px}
.wc-changelog{color-scheme:dark;scrollbar-color:#70684f #191d1d}

/* Scene motion stays inside the image frame; combat never blocks controls. */
.wc-scene-motion{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:2}
.wc-ambient{position:absolute;inset:-10%;opacity:.15;background:radial-gradient(ellipse at 15% 70%,var(--scene-tint),transparent 48%);animation:wc-ambient-drift 14s ease-in-out infinite alternate}
[data-mood=rain] .wc-ambient{background:repeating-linear-gradient(110deg,transparent 0 65px,#abc6bf55 66px 67px,transparent 68px 130px);opacity:.12}
[data-mood=pulse] .wc-ambient{animation:wc-light-breathe 6s ease-in-out infinite;background:radial-gradient(ellipse at 70% 10%,var(--scene-tint),transparent 60%)}
[data-mood=sparks] .wc-ambient{background:radial-gradient(ellipse at 15% 90%,var(--scene-tint),transparent 40%);animation:wc-light-breathe 4s ease-in-out infinite}
.wc-attack-art{position:absolute;width:100%;height:100%;inset:0;background:linear-gradient(0deg,#030a0b99,transparent);animation:wc-contact .35s ease-out both}
.wc-zombie-figure{animation:wc-threat 3s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
.wc-human-figure{animation:wc-human-breathe 4s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center bottom}
.wc-encounter-caption{position:absolute;top:16px;left:16px;right:16px;background:#0c1214d9;border-left:3px solid var(--scene-tint);color:#e4dec8;padding:9px 12px;font:12px var(--wc-mono);letter-spacing:1px}
@keyframes wc-contact{from{opacity:.1;translate:0 8px}to{opacity:1;translate:0 0}}
@keyframes wc-ambient-drift{to{translate:5% 0;opacity:.25}}
@keyframes wc-light-breathe{50%{opacity:.04}}
@keyframes wc-threat{to{rotate:2deg;translate:8px 0}}
@keyframes wc-human-breathe{to{translate:0 -3px}}
@media(prefers-reduced-motion:reduce){.wc-scene-motion *{animation:none!important}}
/* Keep encounter figures in shadow so they sit within the existing scene art. */
.wc-attack-art>g{filter:brightness(.32) drop-shadow(0 8px 14px #030808);opacity:.92}

.wc-attacker-photo{position:absolute;bottom:0;height:94%;max-width:65%;object-fit:contain;transform:translate(-50%,25%);filter:brightness(.78) drop-shadow(0 12px 16px #0008);animation:wc-contact .35s ease-out both}
@media(prefers-reduced-motion:reduce){.wc-attacker-photo{animation:none}}

/* Death distortion stays local to the defeated figure; no full-screen flashing. */
.wc-attacker-photo.wc-attacker-dying{animation:wc-death-glitch .42s steps(1,end) forwards;pointer-events:none}
@keyframes wc-death-glitch{
 0%{opacity:1;translate:0 0;clip-path:inset(0)}
 18%{translate:-9px 0;clip-path:polygon(0 0,100% 0,100% 32%,65% 32%,65% 43%,100% 43%,100% 100%,0 100%);filter:brightness(.9) drop-shadow(6px 0 #759b9588)}
 38%{translate:8px 0;clip-path:inset(12% 0 18%);opacity:.75}
 58%{translate:-5px 2px;clip-path:polygon(0 24%,100% 24%,100% 38%,0 38%,0 57%,100% 57%,100% 76%,0 76%);opacity:.5}
 80%{translate:6px 0;clip-path:inset(46% 0 35%);opacity:.25}
 100%{opacity:0;clip-path:inset(50%);translate:0 0}
}
@media(prefers-reduced-motion:reduce){.wc-attacker-photo.wc-attacker-dying{animation:none!important;opacity:0}}
