/* Progressive outbreak system, shared by every route. Controls and text remain usable. */
:root{--color-outbreak-wash:oklch(66% .235 26 / .085);--color-outbreak-hot:oklch(66% .235 26 / .40)}
.outbreak-page{position:relative;padding-bottom:70px!important}
.outbreak-banner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:35px;align-items:center;min-height:210px;margin-top:30px;padding:25px 28px;border:1px solid var(--color-transmission-edge);background:var(--color-panel);overflow:clip}
.outbreak-banner h2{font:500 28px/1.2 var(--font-display);letter-spacing:-.7px;margin:14px 0 8px}.outbreak-banner p{font:12px/1.8 var(--font-body);color:var(--color-muted);max-width:370px;margin:0}.outbreak-banner>small{position:absolute;bottom:13px;right:28px;font:6px var(--font-mono);color:var(--color-dim);letter-spacing:1px}
.outbreak-culture{display:flex;align-items:center;justify-content:center;gap:8px;position:relative;isolation:isolate;background:var(--color-panel);min-width:0}.outbreak-culture:before{content:'';position:absolute;left:10%;right:10%;top:50%;height:1px;background:var(--color-accent);box-shadow:0 0 12px var(--color-transmission-glow)}.outbreak-culture>span{position:relative;flex-shrink:0;transform:rotate(var(--culture-rotation,0deg));transition:filter 400ms var(--ease-out)}.outbreak-culture img{display:block;mix-blend-mode:screen;object-fit:contain;max-width:100%}
.outbreak-hud{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:30;display:flex;align-items:center;gap:14px;background:var(--color-paper);border:1px solid var(--color-transmission-edge);padding:10px 14px;box-shadow:0 5px 24px var(--color-shadow);max-width:calc(100% - 32px)}
.outbreak-hud-mark{font:29px var(--font-pixel);color:var(--color-accent);line-height:1}.outbreak-hud b{display:block;font:500 10px var(--font-mono);color:var(--color-accent-bright);letter-spacing:1px;white-space:nowrap}.outbreak-hud small{display:block;font:6px var(--font-mono);color:var(--color-muted);margin-top:4px;white-space:nowrap}.outbreak-hud button{white-space:nowrap;border:1px solid var(--color-rule-strong);background:var(--color-clear);color:var(--color-muted);font:10px var(--font-body);padding:8px 10px}.outbreak-hud button:hover{border-color:var(--color-accent);color:var(--color-ink)}.outbreak-hud-meter{width:75px;height:4px;background:var(--color-rule);overflow:clip}.outbreak-hud-meter i{display:block;width:100%;height:100%;background:var(--color-accent);transform:scaleX(var(--outbreak-depth,0));transform-origin:left}
.outbreak-page .infection-target.is-infected{background-color:var(--color-transmission-faint)}
.outbreak-page[data-outbreak-level="1"] .infection-target.is-infected{border-color:var(--color-transmission-edge);box-shadow:inset 4px 0 var(--color-accent),0 0 22px -18px var(--color-accent)}
.outbreak-page[data-outbreak-level="2"] .infection-target.is-infected{border-color:var(--color-accent);box-shadow:inset 4px 0 var(--color-accent),inset 0 -2px var(--color-transmission-edge),0 0 28px -18px var(--color-accent);background-color:var(--color-outbreak-wash)}
.outbreak-page[data-outbreak-level="3"] .infection-target.is-infected{border-color:var(--color-accent-bright);box-shadow:inset 5px 0 var(--color-accent),inset 0 -3px var(--color-accent),inset 0 3px var(--color-transmission-edge),0 0 38px -18px var(--color-accent);background-color:var(--color-outbreak-wash);background-image:linear-gradient(135deg,var(--color-outbreak-hot) 0 9px,var(--color-clear) 9px),linear-gradient(315deg,var(--color-outbreak-hot) 0 10px,var(--color-clear) 10px);background-size:26px 26px;background-position:left top,right bottom;background-repeat:no-repeat}
.outbreak-page[data-outbreak-level="2"] .strain-icon,.outbreak-page[data-outbreak-level="3"] .strain-icon{filter:drop-shadow(0 0 5px var(--color-transmission-glow))}
.outbreak-page[data-outbreak-level="3"] .outbreak-hud{border-color:var(--color-accent-bright);box-shadow:0 0 26px var(--color-transmission-glow)}
.outbreak-page .pg-head{padding:26px;margin-bottom:28px;border:1px solid var(--color-rule)}.outbreak-page .bar{padding:18px;border:1px solid var(--color-rule)}.outbreak-page .jobs{padding:18px;border:1px solid var(--color-rule)}.outbreak-page .lab-title{padding:18px 22px;border:1px solid var(--color-rule)}.outbreak-page .ls{border-left-width:2px}.outbreak-page .room-hero{margin-top:30px}
.outbreak-page .job .strain-icon{transition:filter 500ms var(--ease-out)}.outbreak-page .lab-desk>.panel-head:after{content:'HOST';font:7px var(--font-mono);color:var(--color-accent-bright)}
@media(max-width:960px){.outbreak-banner{gap:15px;padding:22px}.outbreak-culture img{width:calc(28px + var(--culture-index)*7px);height:auto}.outbreak-culture>span:nth-child(3) img{width:90px}.outbreak-banner h2{font-size:25px}.outbreak-banner>small{right:22px;font-size:5px}}
@media(max-width:600px){.outbreak-banner{grid-template-columns:minmax(0,1fr);gap:20px;padding:22px;min-height:270px;margin-top:22px}.outbreak-banner h2{font-size:25px}.outbreak-banner .eyebrow{font-size:7px}.outbreak-culture{justify-content:space-between;gap:3px;padding-bottom:10px}.outbreak-culture img{width:42px}.outbreak-culture>span:nth-child(3) img{width:85px}.outbreak-banner>small{position:static;grid-column:1;font-size:5px}.outbreak-hud{gap:9px;padding:9px 11px;bottom:10px}.outbreak-hud-meter{width:35px}.outbreak-hud-mark{font-size:24px}.outbreak-hud button{font-size:9px;padding:7px}.outbreak-hud b{font-size:8px;letter-spacing:.5px}.outbreak-hud small{font-size:5px}.outbreak-page .pg-head{padding:20px}.outbreak-page .lab-title{padding:18px}.outbreak-page .bar{padding:12px}.outbreak-page .jobs{padding:12px}}
@media(max-width:350px){.outbreak-hud-meter{display:none}.outbreak-culture img{width:35px}.outbreak-culture>span:nth-child(3) img{width:75px}.outbreak-banner{padding:18px}}
@media(prefers-reduced-motion:reduce){.outbreak-culture>span{transform:none}.outbreak-hud-mark{font-size:22px}.outbreak-page .infection-target{transition:none}}
/* Blend each transformed specimen against the culture field. */
.outbreak-culture>span{mix-blend-mode:screen}

/* Keep motion inside the hero and specimen banners, away from screen edges. */
.virus-atmosphere{display:none}
