:root{color-scheme:light;--paper:#f4f2e8;--ink:#25342f;--green:#204a3e;--coral:#e77551;--line:#d5d8c8;--gold:#ebc662}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:1px solid var(--line);border-radius:7px;background:#faf9f1;padding:8px 11px;touch-action:manipulation}button:hover:enabled{border-color:var(--green);background:#e9eddf}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #ce6e28;outline-offset:3px}header{max-width:1460px;margin:auto;padding:15px 30px;display:flex;align-items:center;gap:23px;border-bottom:1px solid var(--line);min-height:67px}header img,footer img{display:block}a{color:inherit}header a{text-decoration:none}.home{font-size:13px;font-weight:700}nav{margin-left:auto;display:flex;gap:7px}nav button{font-size:12px;background:transparent}main{max-width:1400px;margin:0 auto;padding:23px 30px 12px}.heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:21px}.eyebrow{letter-spacing:2px;font-size:10px;font-weight:800;margin:0 0 9px}h1{font-size:clamp(27px,3.2vw,48px);letter-spacing:-2px;line-height:1.1;margin:0;font-weight:700}h1 em{font-family:Georgia,serif;font-weight:400;color:#ba5239}h1 .title-dot{font-size:30px;color:var(--coral);margin-left:13px;vertical-align:middle}.tagline{font-size:13px;line-height:1.6;margin:0;border-left:2px solid #dbb795;padding-left:18px}.arena{border:1px solid #bac6b3;border-radius:13px;overflow:hidden;background:#e6ebda;box-shadow:0 12px 35px #334b3010}.hud{display:flex;align-items:center;padding:15px 26px;background:#fcfbf3;border-bottom:1px solid var(--line);gap:0}.hud>div{flex:1;border-right:1px solid var(--line);padding-left:28px}.hud>div:first-child{padding-left:0}.hud>div:last-child{border:0}.hud small{font-size:9px;letter-spacing:1.6px;display:block;color:#647367;font-weight:700}.hud strong{display:block;font-size:29px;line-height:1.25;letter-spacing:-1px;margin-top:3px}.hud strong span{font-size:14px;color:#788272;margin-left:3px}.hud>div:nth-child(2) strong{color:#b07824}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 305px;grid-template-rows:minmax(0,1fr)}.battlefield{display:flex;flex-direction:column;min-width:0;min-height:0}.map-top{display:flex;justify-content:space-between;gap:8px;font-size:9px;font-weight:800;letter-spacing:1.2px;padding:15px 20px 6px;flex:none}.map-top i{display:inline-block;background:#509879;width:6px;height:6px;border-radius:50%;margin-right:6px}.map-wrap{position:relative;min-height:0;flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden}canvas{width:100%;height:auto;display:block;aspect-ratio:1000/560;max-height:100%;object-fit:contain;touch-action:manipulation}.map-label{position:absolute;bottom:3%;left:22px;font-size:9px;font-weight:800;letter-spacing:1.4px;color:#65795b;pointer-events:none}.legend{display:flex;align-items:center;gap:15px;font-size:10px;padding:8px 20px;flex:none;color:#58654f}.legend span{white-space:nowrap}.legend i{display:inline-block;width:8px;height:8px;margin-right:5px}.bacteria{background:#c47348;border-radius:5px}.virus{background:#647b9f;border-radius:50%}.infected{background:#b37891;border-radius:50%}.path-note{margin-left:auto}.coach{background:#fff0c7;border-top:1px solid #d6bd7c;padding:12px 20px;display:flex;gap:12px;align-items:center;min-height:59px;flex:none}.coach b{font-size:9px;letter-spacing:1px;flex:none;max-width:95px}.coach span{font-size:12px;line-height:1.5}.command{background:#f8f8ef;border-left:1px solid var(--line);padding:16px;display:flex;flex-direction:column;gap:11px;min-height:0}.desk-title{display:flex;justify-content:space-between;align-items:center;font-size:9px;font-weight:800;letter-spacing:1px;gap:6px}.desk-title span:last-child{color:#878c74;font-size:8px;letter-spacing:.3px}.cell-shop{display:grid;gap:6px}.cell-card{display:flex;text-align:left;gap:11px;align-items:center;padding:9px;background:#fffef7;border-color:#d9ddcd}.cell-card.selected{background:#e9efdd;border:1px solid #66836c;box-shadow:inset 3px 0 #42664b}.cell-card>span:last-child{flex:1}.cell-card b{font-size:12px;display:block}.cell-card small{font-size:10px;display:block;margin:4px 0;color:#66735d}.cell-card em{font-family:Georgia,serif;font-size:11px;color:#8e6f58}.cell-icon{display:grid;place-items:center;flex:none;width:37px;height:37px;border-radius:44% 55% 40% 52%;font-size:15px;font-weight:800;box-shadow:inset 0 0 0 4px #ffffff40,inset -3px -3px 7px #00000012}.macro-icon{background:#c4d398;color:#435e2a}.t-icon{background:#ceadc4;color:#71496d;border-radius:50%}.b-icon{background:#a8c8cd;color:#355d6b;border-radius:50%}kbd{font:9px Arial;border:1px solid #cbd1be;padding:1px 3px;border-radius:3px;float:right;color:#6d7963}.site-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;gap:4px}.site-title b{font-size:9px;letter-spacing:1px}.site-title small{font-size:10px;color:#65735d}.sites{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.sites button{font-size:10px;border-radius:4px;padding:6px 0;min-height:28px}.sites button.occupied{background:#d6e0c1;font-weight:800}.sites button.occupied.t{background:#e2d2df}.sites button.occupied.b{background:#d1e4e5}.sites button.active{outline:2px solid #476545;outline-offset:-2px}.selected-tools{font-size:10px;color:#65735d;display:flex;flex-direction:column;gap:6px}.selected-tools>div{display:flex;gap:5px}.selected-tools button{font-size:10px;padding:6px 9px;flex:1}.specials{display:grid;grid-template-columns:1fr 1fr;gap:6px}.specials button{text-align:left;padding:8px;min-height:53px}.specials b{font-size:10px;display:block}.specials small{font-size:9px;line-height:1.35;display:block;margin-top:4px;color:#6b775f}.specials .needs-update{background:#ffddbc;border:2px solid #c76e40;animation:glow 1.4s infinite}.start-row{display:flex;gap:6px;margin-top:auto}.primary{background:var(--green);color:#fffbed;border-color:var(--green);font-weight:700}.primary:hover:enabled{background:#346c56;color:white}.start-row .primary{flex:1;font-size:12px}.start-row>button:last-child{font-size:11px}.dispatch{margin:0;font:italic 11px/1.4 Georgia,serif;color:#82674e;min-height:16px}.science-note{font-size:10px;line-height:1.7;color:#73806c;margin:12px 0 0}.science-note b{color:#53664f;font-size:9px;letter-spacing:.5px}footer{max-width:1400px;margin:auto;display:flex;align-items:center;gap:20px;padding:16px 30px 20px;font-size:10px;color:#75816d}footer>span:last-child{margin-left:auto}dialog{border:1px solid #c6ccb7;box-shadow:0 24px 100px #152a2955;border-radius:14px;background:#faf9ef;color:var(--ink);padding:32px;width:min(620px,calc(100vw - 28px));max-height:88dvh;overflow:auto}dialog::backdrop{background:#21372b88;backdrop-filter:blur(5px)}dialog h2{font-size:30px;letter-spacing:-1px;line-height:1.2;margin:12px 0 16px}dialog p,dialog li{font-size:13px;line-height:1.65}dialog li{margin-bottom:9px}dialog h3{font-size:16px}dialog .primary{padding:13px 16px}.close{float:right;font-size:24px;line-height:1;padding:2px 8px}#mutation,#report{text-align:center;width:min(490px,calc(100vw - 28px))}#mutation>button,#report>button{width:100%;margin-top:8px}#mutation>small{display:block;font-size:10px;color:#87907b;margin-top:18px}.update-symbol{font:52px Georgia;color:#4a7c81;position:relative;width:65px;margin:20px auto 0}.update-symbol span{position:absolute;right:0;bottom:0;background:#e9a25b;color:#362b1f;border-radius:50%;font:700 20px Arial;width:26px;height:26px;padding:2px}.version-row{display:flex;justify-content:center;align-items:center;gap:24px;padding:17px;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);font-size:9px;letter-spacing:1px}.version-row b{display:block;font-size:13px;letter-spacing:0;margin-top:5px}.fine{font-size:11px!important;color:#6e7b64}.report-stats{padding:15px;background:#e8eddc;font-weight:700;border-radius:8px}.paused .map-wrap:after{content:'PAUSED · TAKE A BREATHER';position:absolute;inset:0;display:grid;place-items:center;background:#e6ebdac9;font-size:16px;letter-spacing:3px;font-weight:800}body.playing .heading{display:none}body.playing main{padding-top:12px}body.playing .science-note{display:none}body.playing .arena{height:calc(100dvh - 137px);display:flex;flex-direction:column}body.playing .hud{padding-top:10px;padding-bottom:10px}body.playing .play-layout{flex:1;min-height:0}body.playing .command{gap:8px}body.playing footer{padding-top:9px;padding-bottom:9px}body.playing .map-wrap{height:0}body.playing canvas{width:100%;height:100%}@keyframes glow{50%{box-shadow:0 0 0 3px #df9a5d33}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}@media(min-width:701px) and (max-height:760px){body.playing header{min-height:48px;padding-top:7px;padding-bottom:7px}body.playing .arena{height:calc(100dvh - 112px)}body.playing .command{padding:9px;gap:5px}body.playing .cell-card{padding:5px 8px}body.playing .cell-card em{display:none}body.playing .cell-card small{margin:3px 0}body.playing .cell-icon{width:29px;height:29px}body.playing .specials button{min-height:42px;padding:5px}body.playing .hud strong{font-size:24px}body.playing .coach{min-height:48px;padding:8px 15px}}
@media(max-width:1000px){main{padding:18px 18px 10px}.play-layout{grid-template-columns:minmax(0,1fr) 275px}.command{padding:12px}.path-note{display:none}.legend{gap:10px;font-size:9px}.tagline{font-size:11px}footer{padding:13px 18px}header{padding:12px 18px;gap:15px}.coach{gap:8px;padding:10px 13px}.coach span{font-size:11px}}
@media(max-width:700px){header{padding:9px 12px;gap:10px;min-height:52px;flex-wrap:wrap}header img{width:91px}.home{font-size:10px}nav{gap:4px}nav button{padding:6px;font-size:10px}main{padding:13px 10px 8px}.heading{margin-bottom:13px}.tagline,.title-dot{display:none}.eyebrow{font-size:8px;letter-spacing:1px}h1{font-size:30px;letter-spacing:-1px}.play-layout{display:flex;flex-direction:column}.hud{padding:10px 13px}.hud>div{padding-left:12px}.hud strong{font-size:23px}.hud small{font-size:8px;letter-spacing:.6px}.hud strong span{font-size:11px}.score-hud{display:none}.map-top{padding:10px 12px 2px;font-size:8px;letter-spacing:.6px}.map-label{font-size:7px;left:13px}.legend{padding:5px 12px}.coach{padding:9px 12px;min-height:49px}.coach b{font-size:8px;max-width:65px}.coach span{font-size:10px;line-height:1.4}.command{border-left:0;border-top:1px solid var(--line);padding:10px;gap:9px}.cell-shop{grid-template-columns:repeat(3,1fr);gap:5px}.cell-card{padding:7px 5px;display:block;text-align:center}.cell-icon{display:none}.cell-card b{font-size:11px}.cell-card small{font-size:9px;line-height:1.35}.cell-card em,.cell-card kbd{display:none}.desk-title{font-size:8px}.desk-title span:last-child{font-size:8px}.sites{grid-template-columns:repeat(14,1fr);gap:3px}.sites button{font-size:9px}.site-title{margin-bottom:5px}.selected-tools{flex-direction:row;align-items:center;gap:5px}.selected-tools>span{flex:1;font-size:9px}.selected-tools>div{flex:none}.selected-tools button{padding:5px;font-size:9px}.specials button{min-height:42px;padding:6px}.specials small{font-size:8px}.specials b{font-size:10px}.start-row .primary{padding:9px}.dispatch{font-size:10px;min-height:14px}footer{padding:10px 12px;gap:10px;font-size:8px;flex-wrap:wrap}footer img{width:78px}footer>span:nth-child(2){display:none}footer>span:last-child{margin-left:auto}body.playing .arena{height:calc(100dvh - 111px)}body.playing .hud{padding:7px 12px}body.playing .hud strong{font-size:20px}body.playing .battlefield{flex:1;min-height:0}body.playing .command{gap:6px;flex:none;padding:8px}body.playing .desk-title{display:none}body.playing .map-wrap{height:auto}body.playing .cell-card{padding:5px 3px}body.playing .cell-card small{margin:3px 0 0}body.playing .site-title{margin-bottom:3px}body.playing .start-row{margin-top:0}body.playing footer{padding-top:6px;padding-bottom:6px}body.playing main{padding-top:8px}dialog{padding:23px}dialog h2{font-size:25px}}
@media(max-width:370px){header{gap:7px}nav button{font-size:9px;padding:5px}header img{width:78px}.home{font-size:9px}body.playing .command{gap:4px;padding:6px}body.playing .cell-card b{font-size:10px}body.playing .cell-card small{font-size:8px}body.playing .dispatch{display:none}body.playing .coach{padding:6px 9px;min-height:43px}body.playing .legend{font-size:8px;gap:8px}body.playing .specials small{display:none}body.playing .specials button{min-height:30px}body.playing .selected-tools button{padding:4px}body.playing .sites button{min-height:26px;padding:3px 0}body.playing .start-row button{padding:6px}body.playing .hud{padding:5px 10px}}
@media(orientation:landscape) and (max-height:520px){header{min-height:40px;padding:5px 12px}header img{width:86px}main{padding:7px 12px}.heading{margin-bottom:9px}body.playing main{padding-top:5px}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 255px}body.playing .arena{height:calc(100dvh - 85px)}body.playing .hud{padding:4px 12px}body.playing .hud strong{font-size:18px;display:inline;margin-left:8px}body.playing .hud small{display:inline;font-size:8px}body.playing .command{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:5px;padding:6px;overflow-y:auto}body.playing .cell-shop,body.playing .site-tools,body.playing .selected-tools,body.playing .start-row{grid-column:1/-1}body.playing .cell-shop{grid-template-columns:repeat(3,1fr);display:grid;gap:3px}body.playing .cell-card{display:block;text-align:center;padding:4px 2px}body.playing .cell-icon,body.playing .cell-card kbd,body.playing .cell-card em,body.playing .desk-title,body.playing .dispatch{display:none}body.playing .cell-card b{font-size:9px}body.playing .cell-card small{font-size:8px}body.playing .sites{grid-template-columns:repeat(7,1fr);gap:3px}body.playing .sites button{min-height:22px;padding:3px}body.playing .site-title b{font-size:8px}body.playing .selected-tools{flex-direction:row;align-items:center;font-size:8px}body.playing .selected-tools>span{flex:1}body.playing .selected-tools button{font-size:8px;padding:4px}body.playing .specials{grid-column:1/-1}body.playing .specials button{min-height:30px;padding:4px}body.playing .specials small{display:none}body.playing .start-row button{padding:5px;font-size:10px}body.playing .coach{min-height:42px;padding:6px 9px}body.playing .coach span{font-size:9px}body.playing .map-top{padding:6px 9px 0;font-size:8px}body.playing .legend{font-size:8px;padding:4px 9px}body.playing .map-label{display:none}body.playing footer{padding:4px 12px;font-size:8px}body.playing footer img{width:66px}}
body.playing{height:100dvh;display:flex;flex-direction:column}
body.playing>header,body.playing>footer{flex:none;width:100%;margin:0 auto}
body.playing>main{flex:1;min-height:0;width:100%;display:flex;flex-direction:column}
body.playing main>.arena{height:auto;flex:1;min-height:0}
body.playing .arena>.hud{flex:none}
@media(max-width:370px){body.playing>header img{width:60px}body.playing>header .home{font-size:8px}body.playing>header nav button{font-size:8px;padding:4px}body.playing>header nav{gap:3px}body.playing .sites{grid-template-columns:repeat(7,1fr)}body.playing .site-title{display:none}body.playing .selected-tools>span{font-size:8px}body.playing .map-label{display:none}body.playing .coach span{font-size:9px}}
@media(max-width:370px){body.playing>footer{display:grid;grid-template-columns:60px 1fr;gap:5px;padding:4px 10px}body.playing>footer img{width:60px}body.playing>footer>span:last-child{font-size:7px;line-height:1.4;text-align:right}body.playing .hud small{font-size:6px;letter-spacing:0;white-space:nowrap}body.playing .command{display:grid;grid-template-columns:1fr 1fr}body.playing .command>.cell-shop,body.playing .command>.site-tools,body.playing .command>.selected-tools{grid-column:1/-1}body.playing .command>.start-row{margin-top:0}body.playing .start-row>.primary:disabled{display:none}body.playing .start-row>#restart{flex:1}body.playing .specials b{font-size:8px}body.playing .specials kbd{display:none}}
