@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;600;700;800&display=swap');

:root{--ink:#e8eee9;--muted:#83948a;--paper:#101b17;--panel:#16231e;--line:#2a3932;--green:#9dff58;--mint:#62e6b1;--gold:#f0c864;--danger:#ff735c}
*{box-sizing:border-box} body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,system-ui,sans-serif;background-image:radial-gradient(circle at 75% -10%,#254a38 0,transparent 28%),linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);background-size:auto,48px 48px,48px 48px;min-height:100vh}
button{font:inherit}.masthead{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 clamp(20px,5vw,72px);gap:28px;background:#101b17dc;backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:12px;margin-right:auto}.brand-mark{width:29px;height:38px;border:3px solid var(--green);border-radius:60% 40% 62% 38% / 72% 48% 52% 28%;transform:rotate(35deg);box-shadow:inset 0 0 0 5px #101b17}.brand strong{font-size:16px;letter-spacing:.16em;display:block}.brand small,.header-stat span{font:10px DM Mono;letter-spacing:.12em;color:var(--muted);display:block}.header-stat{text-align:right}.header-stat strong{font:700 18px DM Mono;color:var(--green)}.icon-button{border:1px solid var(--line);background:transparent;color:var(--muted);font:11px DM Mono;padding:9px 13px;cursor:pointer}.icon-button:hover{color:var(--ink);border-color:var(--green)}
.speed-controls[hidden],#debugButton[hidden],#cloudFeedbackTab[hidden]{display:none!important}
main{width:min(1420px,92vw);margin:auto}.hero{display:grid;grid-template-columns:1fr 330px;gap:40px;align-items:end;padding:70px 0 42px}.eyebrow{font:500 10px DM Mono;letter-spacing:.2em;color:var(--mint);margin:0 0 12px;text-transform:uppercase}.hero h1{font-size:clamp(48px,7vw,92px);line-height:.87;letter-spacing:-.065em;margin:0;font-weight:800}.hero h1 em{color:var(--green);font-style:normal}.lede{color:var(--muted);max-width:500px;font-size:16px;margin:28px 0 0}.season-card{border:1px solid var(--line);padding:24px;background:#15221dbc}.season-top{display:flex;justify-content:space-between;font:11px DM Mono;letter-spacing:.16em;color:var(--gold)}.season-temp{display:flex;align-items:end;justify-content:space-between;margin:14px 0}.season-temp strong{font-size:56px;line-height:1}.season-temp small{color:var(--muted);text-align:right}.season-temp b{display:block;color:var(--green);font:12px DM Mono}.season-track,.meter{height:4px;background:#29372f;margin:12px 0}.season-track i,.meter i{display:block;height:100%;width:0;background:var(--gold);transition:width .3s}.season-card>small{font:9px DM Mono;color:var(--muted);letter-spacing:.08em}
.ticker{border-block:1px solid var(--line);min-height:48px;display:grid;grid-template-columns:130px 1fr auto;align-items:center;font:11px DM Mono}.ticker>span{color:#101b17;background:var(--green);padding:5px 10px;width:max-content;font-weight:600}.ticker p{margin:0;color:#b7c2bb}.ticker time{color:var(--muted)}
.dashboard{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,.75fr);gap:18px;padding:28px 0 80px}.primary-column,.side-column{display:flex;flex-direction:column;gap:18px}.panel{border:1px solid var(--line);background:#14211cd9;padding:26px;box-shadow:0 16px 50px #00000018}.panel-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:24px}.panel-heading.compact{align-items:center;margin-bottom:20px}.panel h2{font-size:22px;letter-spacing:-.04em;margin:0}.big-number{text-align:right}.big-number strong{font:500 34px DM Mono;color:var(--green);display:block}.big-number span{font:9px DM Mono;color:var(--muted);letter-spacing:.1em}.water-button{width:100%;min-height:104px;border:1px solid #b8ff7b;background:var(--green);color:#122116;display:flex;align-items:center;text-align:left;padding:20px 24px;gap:20px;cursor:pointer;box-shadow:0 0 40px #9dff5810;transition:.1s}.water-button:hover{filter:brightness(1.08);transform:translateY(-1px)}.water-button:active,.water-button.active{transform:translateY(2px);filter:brightness(.9)}.water-button:disabled{filter:grayscale(1);cursor:not-allowed}.drop{font-size:42px}.water-button strong{display:block;font-size:16px;letter-spacing:.04em}.water-button small{opacity:.68}.water-button kbd{margin-left:auto;border:1px solid #47772b;padding:7px 10px;font:9px DM Mono}.resource-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;margin-top:24px}.resource-grid>div{padding:0 20px;border-right:1px solid var(--line)}.resource-grid>div:first-child{padding-left:0}.resource-grid>div:last-child{border:0}.resource-grid span,.market-row span{display:block;font:9px DM Mono;letter-spacing:.1em;color:var(--muted);margin-bottom:7px}.resource-grid strong{font:22px DM Mono}.resource-grid small{font:10px DM Mono;color:var(--muted)}.meter.gold i{background:var(--gold)}.hint{margin:20px 0 0;color:var(--muted);font-size:12px;border-left:2px solid var(--mint);padding-left:12px}
.rate-badge{font:9px DM Mono;color:var(--muted);border:1px solid var(--line);padding:7px 9px}.product-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.product{border:1px solid var(--line);padding:17px;display:grid;grid-template-columns:42px minmax(85px,1fr) auto;align-items:center;gap:12px;background:#111d18}.product.locked{opacity:.43}.product-icon{width:38px;height:38px;border:1px solid #3b5147;display:grid;place-items:center;color:var(--mint);font:18px DM Mono}.product h3{margin:0 0 3px;font-size:13px}.product p{font:9px DM Mono;color:var(--muted);margin:0}.product button,.upgrade button,.modal button{background:transparent;border:1px solid #466052;color:var(--green);font:10px DM Mono;padding:8px 10px;cursor:pointer}.product button{grid-column:2/4;width:100%}.product button:hover,.upgrade button:hover{background:var(--green);color:#132017}.product button:disabled,.upgrade button:disabled{opacity:.3;cursor:not-allowed}.stock{font:12px DM Mono;color:var(--ink);min-width:35px;text-align:right}
.market-score{font:28px DM Mono;color:var(--green)}.demand-chart{height:72px;display:flex;gap:5px;align-items:end;border-bottom:1px solid var(--line);padding:0 4px;margin-bottom:16px}.demand-chart i{flex:1;background:#365847;min-height:4px;transition:height .4s}.demand-chart i:last-child{background:var(--green)}.market-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #25342d}.market-row span{margin:0}.market-row strong{font:11px DM Mono}.upgrade-list{display:flex;flex-direction:column;gap:8px}.upgrade{border:1px solid var(--line);padding:14px;display:grid;grid-template-columns:1fr auto;gap:4px 12px}.upgrade h3{font-size:12px;margin:0}.upgrade p{font-size:10px;color:var(--muted);margin:0;line-height:1.4}.upgrade button{grid-row:1/3;grid-column:2;align-self:center}.upgrade.bought{opacity:.5}.log-panel ol{padding:0;margin:0;list-style:none}.log-panel li{font:10px/1.5 DM Mono;color:var(--muted);padding:8px 0;border-bottom:1px solid #223129}.log-panel li::before{content:"→ ";color:var(--mint)}
.modal{position:fixed;inset:0;background:#07100ccf;display:grid;place-items:center;z-index:30;padding:20px}.modal[hidden]{display:none}.modal-card{width:min(500px,100%);background:#17251f;border:1px solid #4d685b;padding:42px;text-align:center;box-shadow:0 25px 80px #000}.event-glyph{display:grid;place-items:center;margin:10px auto 18px;border:1px solid var(--gold);color:var(--gold);width:58px;height:58px;font:28px DM Mono}.modal h2{font-size:34px;letter-spacing:-.05em;margin:0}.modal-card>p:not(.eyebrow){color:var(--muted);line-height:1.65}.modal button{margin:8px 5px;padding:12px 15px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:#132017;padding:11px 17px;font:11px DM Mono;opacity:0;pointer-events:none;transition:.25s;z-index:40}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:850px){.hero{grid-template-columns:1fr;padding-top:42px}.dashboard{grid-template-columns:1fr}.season-card{max-width:400px}.ticker{grid-template-columns:auto 1fr}.ticker time{display:none}.product-list{grid-template-columns:1fr}.resource-grid{grid-template-columns:1fr;gap:18px}.resource-grid>div{padding:0;border:0}.header-stat{display:none}.masthead{padding:0 18px}main{width:92vw}}@media(max-width:480px){.hero h1{font-size:52px}.panel{padding:19px}.big-number strong{font-size:24px}.water-button{padding:15px}.water-button kbd{display:none}.ticker{gap:10px}.ticker p{font-size:9px}}

/* Pixel graphics pass */
@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap');
:root{--pixel:"Press Start 2P",monospace;--blue:#67d8ff}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;background:repeating-linear-gradient(0deg,#0000 0 3px,#0002 4px);opacity:.16}
.panel,.season-card,.pixel-yard{border:4px solid #294438;box-shadow:4px 4px 0 #06100c}
.panel{background:#14231d}.hero{grid-template-columns:minmax(360px,1fr) minmax(360px,.8fr) 260px;gap:24px;padding-top:54px}.hero h1 em{text-shadow:4px 4px 0 #315f22}
.pixel-yard{height:245px;position:relative;overflow:hidden;background:#6bc8dc;image-rendering:pixelated}
.pixel-yard::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 3px #b5ffff3d;pointer-events:none;z-index:20}
.pixel-sun{position:absolute;width:34px;height:34px;right:30px;top:24px;background:var(--gold);box-shadow:0 -7px 0 -3px var(--gold),0 7px 0 -3px var(--gold),7px 0 0 -3px var(--gold),-7px 0 0 -3px var(--gold);animation:sunPulse 2s steps(2) infinite}
.mountains{position:absolute;inset:70px 0 55px;background:linear-gradient(135deg,transparent 28%,#438b69 29% 52%,transparent 53%) 0 0/150px 100%,linear-gradient(45deg,transparent 38%,#36765a 39% 64%,transparent 65%) 70px 0/170px 100%}
.pixel-grass{position:absolute;left:0;right:0;bottom:0;height:67px;background:repeating-linear-gradient(90deg,#3f9e58 0 8px,#48ad5d 8px 16px);border-top:8px solid #77d267}
.pixel-grass::after{content:"";position:absolute;inset:12px 0;background:repeating-linear-gradient(90deg,transparent 0 21px,#297f45 22px 25px,transparent 26px 40px);opacity:.65}
.cloud{position:absolute;display:flex;align-items:end;animation:cloudMove 18s linear infinite}.cloud i{display:block;background:#eaf9e9;width:25px;height:12px}.cloud i:nth-child(2){height:24px}.cloud-one{top:32px;left:-80px}.cloud-two{top:69px;left:-70px;animation-delay:-9s;animation-duration:26s;transform:scale(.7)}
.house{position:absolute;width:88px;height:72px;bottom:57px;left:25px}.house .wall{position:absolute;inset:27px 7px 0;background:#f3d384;border-bottom:6px solid #d49f58}.house .roof{position:absolute;width:72px;height:72px;left:8px;top:0;background:#bc5c42;transform:rotate(45deg);clip-path:polygon(0 0,100% 100%,0 100%)}.house .door{position:absolute;width:18px;height:31px;bottom:5px;left:51px;background:#755745}.house .window{position:absolute;width:19px;height:17px;bottom:27px;left:17px;background:#71cce0;border:4px solid #e9efcb;z-index:2}
.tree{position:absolute;bottom:54px;right:20px}.tree b{display:block;width:13px;height:51px;background:#704e32;margin:auto}.tree i{display:block;width:55px;height:58px;background:#24784b;box-shadow:-9px 11px 0 #24784b,9px 9px 0 #31905a;clip-path:polygon(25% 0,75% 0,75% 15%,100% 15%,100% 80%,75% 80%,75% 100%,25% 100%,25% 85%,0 85%,0 20%,25% 20%)}
.worker{position:absolute;bottom:48px;left:43%;width:34px;height:69px;z-index:5;animation:workerBob .7s steps(2) infinite}.worker i{position:absolute;display:block}.worker .head{width:20px;height:19px;background:#d79b69;left:7px;top:7px}.worker .cap{width:25px;height:7px;background:#f1cc4e;left:4px;top:3px;box-shadow:7px 6px 0 #f1cc4e}.worker .body{width:25px;height:29px;background:#185b42;left:5px;top:25px}.worker .arm{width:25px;height:8px;background:#d79b69;left:24px;top:31px;transform-origin:left;animation:armWater .7s steps(2) infinite}.worker .legs{width:25px;height:16px;left:5px;top:53px;border-left:8px solid #253b4c;border-right:8px solid #253b4c}
.hose-line{position:absolute;width:130px;height:45px;left:48%;bottom:29px;border-bottom:4px solid #193d29;border-right:4px solid #193d29;border-radius:0 0 30px;z-index:4}
.sprinkler{position:absolute;bottom:54px;width:12px;height:12px;background:#293a35;z-index:6}.sprinkler-a{left:65%}.sprinkler-b{left:82%}.sprinkler span{position:absolute;width:70px;height:42px;right:5px;bottom:5px;border:4px dotted #d2faff;border-bottom:0;border-radius:80px 80px 0 0;transform-origin:right bottom;animation:sprinklerSweep 1.6s steps(5) infinite}.sprinkler-b span{animation-delay:-.8s}.sprinkler i{position:absolute;width:5px;height:5px;background:#e9ffff;box-shadow:-15px -19px #e9ffff,-31px -32px #e9ffff,-49px -36px #e9ffff;animation:drops .8s steps(2) infinite}
.yard-caption{position:absolute;left:8px;right:8px;bottom:8px;z-index:8;background:#0a1713e8;padding:8px;color:var(--muted);font:6px/1.4 var(--pixel)}.yard-caption b{color:var(--green);float:right}.live-dot{display:inline-block;width:6px;height:6px;background:var(--danger);margin-right:7px;animation:blink .8s steps(1) infinite}
.season-top{font:7px/1.7 var(--pixel)}.season-temp strong{font:28px var(--pixel);text-shadow:3px 3px 0 #42604f}.season-temp b,.season-card>small{font:7px/1.7 var(--pixel)}
.big-number strong{font:20px var(--pixel);text-shadow:3px 3px 0 #274c1d}.big-number span{font:6px/2 var(--pixel)}
.water-panel{position:relative;overflow:hidden}.water-button{border:0;border-bottom:6px solid #4f9d28;box-shadow:inset 4px 4px 0 #caff9d,inset -4px 0 0 #71cf38}.water-button:hover{transform:translateY(-2px)}.water-button:active,.water-button.active{transform:translateY(4px);border-bottom-width:2px}.water-button strong{font:8px/1.7 var(--pixel)}.water-button kbd{border:2px solid #47772b;box-shadow:2px 2px 0 #47772b;font:6px var(--pixel)}.drop{animation:dropBob 1s steps(2) infinite}
.product button,.upgrade button,.modal button{border-width:2px;box-shadow:2px 2px 0 #06100c;font:6px var(--pixel);padding:10px}.product button:hover,.upgrade button:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 #06100c}.product button:active,.upgrade button:active{transform:translate(2px,2px);box-shadow:none}.stock{font:8px var(--pixel)}
.click-effects{position:absolute;inset:0;pointer-events:none}.water-pop{position:absolute;top:145px;color:var(--blue);font:8px var(--pixel);text-shadow:2px 2px 0 #143644;animation:waterPop .8s steps(6) forwards}.water-pop::before,.water-pop::after{content:"";position:absolute;width:5px;height:5px;background:var(--blue);box-shadow:14px -9px var(--blue),-14px -4px #d9fbff}.water-pop::before{left:-20px;animation:splashLeft .7s steps(5) forwards}.water-pop::after{right:-12px;animation:splashRight .7s steps(5) forwards}
.modal-card{border:6px solid #4d685b;box-shadow:8px 8px 0 #030806;animation:modalIn .25s steps(4)}.event-glyph{border:4px solid var(--gold);box-shadow:4px 4px 0 #6f5f29;font:17px var(--pixel);animation:glyphBounce .8s steps(2) infinite}.toast{border:3px solid #354c40;box-shadow:4px 4px 0 #000;font:7px var(--pixel)}
@keyframes cloudMove{to{transform:translateX(600px)}}@keyframes sunPulse{50%{transform:scale(1.12)}}@keyframes workerBob{50%{transform:translateY(2px)}}@keyframes armWater{50%{transform:rotate(-12deg)}}@keyframes sprinklerSweep{0%,100%{transform:scaleX(.25)}50%{transform:scaleX(1)}}@keyframes drops{50%{transform:translate(5px,3px);opacity:.5}}@keyframes blink{50%{opacity:0}}@keyframes dropBob{50%{transform:translateY(4px)}}@keyframes waterPop{0%{opacity:0;transform:translateY(10px) scale(.5)}25%{opacity:1}100%{opacity:0;transform:translateY(-36px) scale(1.1)}}@keyframes splashLeft{to{transform:translate(-18px,-25px);opacity:0}}@keyframes splashRight{to{transform:translate(20px,-22px);opacity:0}}@keyframes modalIn{from{transform:scale(.75);opacity:0}}@keyframes glyphBounce{50%{transform:translateY(-5px)}}
@media(max-width:1120px){.hero{grid-template-columns:1fr 1fr}.hero-copy{grid-row:1/3}.pixel-yard{grid-column:2}.season-card{grid-column:2;max-width:none}}
@media(max-width:850px){.hero{grid-template-columns:1fr}.hero-copy,.pixel-yard,.season-card{grid-column:auto;grid-row:auto}.pixel-yard{height:230px}.season-card{max-width:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Deeper company systems */
.stage-road{display:grid;grid-template-columns:repeat(7,1fr);margin:24px 0 0;border:4px solid #294438;background:#0e1d17;box-shadow:4px 4px 0 #06100c;overflow:hidden}.stage-road>div{min-width:0;display:flex;align-items:center;gap:9px;padding:13px 10px;border-right:1px solid #294438;opacity:.3}.stage-road>div:last-child{border:0}.stage-road i{flex:0 0 23px;height:23px;display:grid;place-items:center;background:#1a2c24;color:#789084;font:6px var(--pixel);font-style:normal}.stage-road span{font:6px/1.6 var(--pixel);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage-road small{display:block;color:var(--muted);font:8px DM Mono}.stage-road .reached{opacity:.75}.stage-road .reached i{background:#345d43;color:var(--green)}.stage-road .current{opacity:1;background:#182c22;box-shadow:inset 0 -4px var(--green)}.stage-road .current i{background:var(--green);color:#102016;animation:levelPulse 1.5s steps(2) infinite}
.job-meta{font:8px DM Mono;color:var(--muted);letter-spacing:.08em;margin:7px 0 0}.job-scene{position:relative;height:86px;margin:-7px 0 14px;background:linear-gradient(#70cce0 0 45%,#6fbe59 45% 58%,#9a683e 58%);overflow:hidden;border:3px solid #294438;image-rendering:pixelated}.job-scene::before{content:"";position:absolute;width:32px;height:32px;right:28px;top:8px;background:#ffd45c;box-shadow:0 0 0 5px #ffd45c44}.job-scene::after{content:"";position:absolute;left:0;right:0;bottom:0;height:20px;background:repeating-linear-gradient(90deg,#76502f 0 14px,#845b35 14px 28px)}.job-scene.idle{filter:grayscale(.8)}.soil-cut{position:absolute;left:28%;right:6%;bottom:13px;height:15px;border-top:5px dashed #523820;z-index:2}.soil-cut i{position:relative;display:inline-block;width:8px;height:8px;margin:0 8%;background:#2d74a2;z-index:3}.job-van{position:absolute;left:16px;bottom:16px;width:73px;height:34px;background:#e8efe4;border-bottom:8px solid #172a25;z-index:3}.job-van::before{content:"FLOW";position:absolute;left:8px;top:8px;color:#205e3d;font:5px var(--pixel)}.job-van i,.job-van b{position:absolute;bottom:-12px;width:15px;height:15px;background:#14201c;border:4px solid #586960;border-radius:50%}.job-van i{left:8px}.job-van b{right:8px}.job-progress{position:absolute;left:0;right:0;top:0;height:4px;background:#14231d;z-index:6}.job-progress i{display:block;height:100%;background:var(--green);box-shadow:0 0 9px var(--green);transition:width .2s}.type-install .soil-cut,.type-drip .soil-cut,.type-commercial .soil-cut{animation:trenchMove .8s steps(3) infinite}.type-repair .job-van,.type-tuneup .job-van{animation:vanIdle .8s steps(2) infinite}
.route-panel{min-height:220px}.job-list{display:flex;flex-direction:column;gap:8px}.job-ticket{display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:center;border:2px solid #2c4439;border-left:5px solid var(--job);background:#101e18;padding:13px;transition:.15s}.job-ticket:hover{transform:translateX(3px);background:#172a21}.job-icon{width:42px;height:42px;display:grid;place-items:center;background:color-mix(in srgb,var(--job) 20%,#14231d);border:2px solid var(--job);color:var(--job);font:16px var(--pixel)}.job-ticket h3{font-size:13px;margin:0}.job-ticket p{font-size:10px;color:var(--muted);margin:3px 0}.job-ticket small{font:8px DM Mono;color:var(--job)}.job-reward{text-align:right}.job-reward>b{display:block;font:10px var(--pixel);color:var(--green)}.job-reward>span{display:block;font:8px DM Mono;color:var(--muted);margin:4px 0 7px}.job-reward button,.estimate button{background:var(--job,#9dff58);color:#102016;border:0;border-bottom:3px solid #345d43;padding:7px 12px;font:6px var(--pixel);cursor:pointer}.job-reward button:disabled{filter:grayscale(1);opacity:.4}.empty-state,.locked-feature{text-align:center;padding:38px;color:#647b6e;font:8px/2 var(--pixel)}.empty-state small{display:block;font:10px DM Mono}
.operations-panel{padding:0;overflow:hidden}.ops-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));background:#0d1a15;border-bottom:3px solid #294438}.ops-tabs button{padding:17px 8px;background:transparent;border:0;border-right:1px solid #294438;color:#657b70;font:6px var(--pixel);cursor:pointer}.ops-tabs button.active{color:#102016;background:var(--green);box-shadow:inset 0 -5px #4f9d28}.ops-tabs button:hover:not(.active){color:var(--ink)}#opsContent{padding:23px;min-height:270px}.ops-head{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px}.ops-head h2{margin:0}.ops-head>p{max-width:320px;color:var(--muted);font-size:11px;margin:0}.parts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.part-card{position:relative;border:2px solid #2b4438;background:#101e18;padding:13px;min-width:0}.part-card>span{display:inline-grid;place-items:center;width:31px;height:31px;border:1px solid #466052;color:var(--mint)}.part-card h3{font-size:11px;margin:10px 0 3px}.part-card>b{position:absolute;right:12px;top:19px;font:9px var(--pixel)}.part-card small{display:block;color:var(--muted);font:8px DM Mono;margin-bottom:9px}.part-card>div{display:grid;grid-template-columns:1fr 1fr;gap:5px}.part-card button{border:1px solid #3f5c4d;background:#172a21;color:var(--green);font:7px DM Mono;padding:6px;cursor:pointer}.part-card button:hover{background:var(--green);color:#102016}.part-card button:disabled,.part-card.locked{opacity:.35}
.blueprint{display:grid;grid-template-columns:1.2fr 1fr;gap:16px}.blueprint-yard{height:190px;position:relative;background-color:#123d52;background-image:linear-gradient(#4ea4c21b 1px,transparent 1px),linear-gradient(90deg,#4ea4c21b 1px,transparent 1px);background-size:16px 16px;border:2px solid #4285a0}.blueprint-yard i{position:absolute;left:var(--x);top:var(--y);width:13px;height:13px;border:2px solid #7de5ff;border-radius:50%;box-shadow:0 0 0 8px #7de5ff14}.blueprint-yard i::after{content:"";position:absolute;width:28px;height:1px;background:#7de5ff;transform:rotate(35deg);transform-origin:left}.blueprint-yard b{position:absolute;bottom:8px;left:10px;color:#7de5ff;font:6px var(--pixel)}.estimate{border:2px solid #294438;padding:18px}.estimate h3{font:8px var(--pixel);color:var(--gold)}.estimate p{color:var(--muted);font-size:11px;line-height:1.6}.estimate strong{display:block;font:8px var(--pixel);color:var(--green);margin:18px 0}.estimate button{--job:var(--green);width:100%}
.staff-list,.research-tree{display:grid;grid-template-columns:1fr 1fr;gap:8px}.staff-card,.research-node{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;border:2px solid #294438;background:#101e18;padding:12px}.pixel-person{position:relative;width:30px;height:39px}.pixel-person i{position:absolute;width:18px;height:17px;left:6px;background:#d99a68;box-shadow:0 -5px #ffd45c}.pixel-person b{position:absolute;width:25px;height:19px;left:3px;bottom:0;background:#286c4b;border-left:6px solid #1a3f30;border-right:6px solid #1a3f30}.staff-card h3,.research-node h3{font-size:11px;margin:0}.staff-card p,.research-node p{font-size:9px;color:var(--muted);margin:3px 0}.staff-card>strong{font:8px var(--pixel)}.staff-card button,.research-node button{grid-column:2/4;border:1px solid #466052;background:#172a21;color:var(--green);padding:7px;font:6px var(--pixel)}.staff-card.locked,.research-node.locked{opacity:.35}.research-points{font:12px var(--pixel);color:var(--gold)}.research-node>i{width:31px;height:31px;display:grid;place-items:center;border:2px solid #426252;color:var(--mint);font:7px var(--pixel);font-style:normal}.research-node.done{border-color:#56883d;background:#183021}.research-node.done>i{background:var(--green);color:#102016}
.locked-feature b{display:block;font:38px var(--pixel);color:#2e4b3e}.locked-feature h2{font-size:24px;color:var(--ink);margin:15px}.locked-feature p{font:12px/1.7 Manrope;max-width:500px;margin:auto}
.level-shield{width:38px;height:38px;display:grid;place-items:center;background:var(--gold);clip-path:polygon(50% 0,100% 18%,90% 75%,50% 100%,10% 75%,0 18%);color:#372e11;font:8px var(--pixel)}.milestone-row{display:flex;justify-content:space-between;border-bottom:1px solid #294438;padding:9px 0}.milestone-row span{font:8px DM Mono;color:var(--muted)}.milestone-row b{font:8px var(--pixel)}.xp-track{height:9px;background:#203329;margin:17px 0 10px;border:2px solid #294438}.xp-track i{display:block;height:100%;background:var(--gold);transition:width .4s}.milestone-panel>p{font-size:10px;color:var(--muted);margin:0}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#294438}.stats-grid>div{background:#13231d;padding:12px}.stats-grid span{display:block;font:7px DM Mono;color:var(--muted)}.stats-grid b{font:9px DM Mono;color:var(--ink)}
.achievement-panel .panel-heading>b{font:700 10px DM Mono;color:var(--gold)}.achievement-list{display:grid;gap:8px}.achievement-card{display:grid;grid-template-columns:42px 1fr;gap:11px;align-items:center;border:1px solid #294438;background:#101e18;padding:10px;opacity:.58}.achievement-card>span{display:grid;place-items:center;width:40px;height:40px;border:1px solid #456354;color:#73877c;font:700 9px var(--pixel)}.achievement-card h3{margin:0 0 3px;font-size:12px}.achievement-card p,.achievement-card small{display:block;margin:0;font:8px/1.45 DM Mono;color:var(--muted)}.achievement-card small{margin-top:4px;color:#91a59a}.achievement-card.unlocked{opacity:1;border-color:var(--gold);background:linear-gradient(90deg,#41381940,#101e18)}.achievement-card.unlocked>span{border-color:var(--gold);background:var(--gold);color:#30290f}.achievement-card.unlocked small{color:var(--gold)}
@keyframes levelPulse{50%{background:#ffd45c;transform:translateY(-2px)}}@keyframes trenchMove{50%{transform:translateX(4px)}}@keyframes vanIdle{50%{transform:translateY(2px)}}
@media(max-width:1000px){.stage-road{overflow-x:auto;grid-template-columns:repeat(7,150px)}.parts-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.job-ticket{grid-template-columns:42px 1fr}.job-reward{grid-column:2;text-align:left}.blueprint,.staff-list,.research-tree{grid-template-columns:1fr}.ops-tabs button{font:5px var(--pixel);padding:14px 3px}.parts-grid{grid-template-columns:1fr 1fr}.ops-head{display:block}.ops-head>p{margin-top:10px}.job-scene{height:72px}}
.market-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:14px}.market-actions button{background:#172a21;border:2px solid #355347;color:var(--ink);padding:10px 5px;font:5px/1.7 var(--pixel);cursor:pointer}.market-actions button b{display:block;color:var(--green)}.market-actions button:hover{background:var(--green);color:#102016}.market-actions button:hover b{color:#102016}

/* Readability and interface hierarchy pass */
:root{--ink:#f4f8f5;--muted:#aabbb1;--panel:#14251e;--line:#385447}
body{font-size:16px;line-height:1.5;background-color:#0c1814;background-image:radial-gradient(circle at 65% -15%,#244c39 0,transparent 34%),linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff035 1px,transparent 1px);background-size:auto,48px 48px,48px 48px}
body::after{opacity:.07}
main{width:min(1280px,94vw)}
.masthead{height:82px;padding-inline:max(3vw,24px);border-bottom-color:#3b5549}.brand strong{font-size:18px}.brand small,.header-stat span{font-size:11px}.header-stat strong{font-size:21px}
.hero{grid-template-columns:minmax(340px,1.1fr) minmax(360px,.9fr) 250px;gap:28px;padding:48px 0 34px}.hero h1{font-size:clamp(48px,5.4vw,76px);line-height:.92}.hero h1 em{text-shadow:3px 3px 0 #315f22}.lede{font-size:17px;line-height:1.55;color:#b4c3ba;margin-top:22px}.eyebrow{font:600 12px/1.4 DM Mono;letter-spacing:.14em;margin-bottom:9px}
.pixel-yard{height:230px}.season-card{padding:21px}.season-top{font:600 11px/1.6 DM Mono;letter-spacing:.1em}.season-temp strong{font:700 38px/1 DM Mono;text-shadow:none}.season-temp small{font-size:11px}.season-temp b{font:700 11px DM Mono}.season-card>small{font:10px/1.5 DM Mono}
.ticker{min-height:54px;grid-template-columns:122px 1fr auto;font:12px/1.4 DM Mono}.ticker>span{font-weight:700;padding:7px 11px}.ticker p{color:#d1dad5}.ticker time{font-size:11px}
.stage-road{margin-top:28px;border-width:2px;box-shadow:0 10px 30px #0003}.stage-road>div{padding:15px 12px;gap:10px;min-height:64px}.stage-road i{flex-basis:28px;height:28px;font:700 10px DM Mono}.stage-road span{font:700 10px/1.45 DM Mono;letter-spacing:.03em}.stage-road small{font:10px/1.4 DM Mono;margin-top:2px}
.dashboard{grid-template-columns:minmax(0,1.7fr) minmax(330px,.7fr);gap:24px;padding-top:32px}.primary-column,.side-column{gap:24px}
.panel{padding:28px;border:2px solid #385447;box-shadow:0 12px 35px #0003}.panel-heading{margin-bottom:24px}.panel h2{font-size:26px;line-height:1.15;letter-spacing:-.035em}.big-number strong{font:700 27px/1 DM Mono;text-shadow:none}.big-number span{font:10px/1.5 DM Mono;letter-spacing:.06em;margin-top:5px;display:block}.job-meta{font:11px/1.5 DM Mono;letter-spacing:.04em;margin-top:8px;color:#a9bbb1}
.job-scene{height:100px;margin-bottom:18px;border-width:2px}.water-button{min-height:96px;padding:20px 24px;border-bottom-width:5px}.water-button strong{font:800 15px/1.5 Manrope;letter-spacing:.04em}.water-button small{font-size:13px;display:block}.water-button kbd{font:700 10px DM Mono;padding:8px 11px}.drop{font-size:38px}
.resource-grid{margin-top:26px}.resource-grid>div{padding:0 24px}.resource-grid span,.market-row span{font:600 10px/1.4 DM Mono;letter-spacing:.08em}.resource-grid strong{font:700 25px/1.2 DM Mono}.resource-grid small{font-size:11px}.hint{font-size:13px;line-height:1.55;padding-left:14px;margin-top:22px;color:#b5c5bc}
.rate-badge{font:600 10px DM Mono;padding:8px 10px}.route-panel{min-height:240px}.job-list{gap:12px}.job-ticket{grid-template-columns:54px minmax(0,1fr) 112px;gap:16px;padding:17px;border-width:1px;border-left-width:5px}.job-icon{width:46px;height:46px;font:700 19px DM Mono}.job-ticket h3{font-size:16px;line-height:1.3}.job-ticket p{font-size:12px;line-height:1.45;margin:4px 0 7px;color:#adbbb3}.job-ticket small{font:600 10px/1.4 DM Mono}.job-reward>b{font:700 14px/1.4 DM Mono}.job-reward>span{font:11px DM Mono;margin:3px 0 9px}.job-reward button,.estimate button{font:700 10px DM Mono;padding:8px 13px;width:100%}
.operations-panel{padding:0}.ops-tabs button{padding:18px 8px;font:700 11px/1.3 DM Mono;letter-spacing:.03em}.ops-tabs button.active{box-shadow:inset 0 -4px #4f9d28}#opsContent{padding:28px;min-height:310px}.ops-head{margin-bottom:24px}.ops-head>p{font-size:13px;line-height:1.5;color:#adbbb3}.parts-grid{grid-template-columns:repeat(2,1fr);gap:12px}.part-card{display:grid;grid-template-columns:42px 1fr auto;column-gap:13px;align-items:center;padding:16px;border-width:1px}.part-card>span{grid-row:1/3;width:40px;height:40px;font-size:18px}.part-card h3{font-size:14px;margin:0}.part-card>b{position:static;grid-column:3;grid-row:1;font:700 13px DM Mono}.part-card small{font:11px DM Mono;margin:0}.part-card>div{grid-column:1/4;margin-top:12px}.part-card button{padding:8px;font:700 11px DM Mono}
.blueprint{gap:20px}.estimate{padding:22px}.estimate h3{font:700 12px DM Mono}.estimate p{font-size:13px}.estimate strong{font:700 12px/1.4 DM Mono}.blueprint-yard b{font:700 9px DM Mono}.locked-feature{font:700 11px/2 DM Mono}.locked-feature b{font:700 42px DM Mono}.locked-feature p{font-size:14px}
.staff-list,.research-tree{grid-template-columns:1fr;gap:10px}.staff-card,.research-node{padding:15px}.staff-card h3,.research-node h3{font-size:14px}.staff-card p,.research-node p{font-size:11px}.staff-card>strong{font:700 12px DM Mono}.staff-card button,.research-node button{font:700 10px DM Mono;padding:9px}.research-points{font:700 15px DM Mono}.research-node>i{font:700 11px DM Mono}
.market-score{font:700 32px DM Mono}.demand-chart{height:82px;margin-bottom:20px}.market-row{padding:12px 0}.market-row span{font-size:10px}.market-row strong{font:700 12px DM Mono}.market-actions{gap:10px;margin-top:18px}.market-actions button{padding:12px 7px;font:700 10px/1.45 DM Mono}
.upgrade-list{gap:10px}.upgrade{padding:16px;gap:7px 14px}.upgrade h3{font-size:14px;line-height:1.3}.upgrade p{font-size:11px;line-height:1.45}.upgrade button{font:700 9px DM Mono;min-width:76px;padding:9px}
.level-shield{width:44px;height:44px;font:700 12px DM Mono}.milestone-row{padding:11px 0}.milestone-row span{font:600 10px DM Mono}.milestone-row b{font:700 11px DM Mono}.milestone-panel>p{font-size:12px;line-height:1.5}.stats-grid span{font:600 9px DM Mono}.stats-grid b{font:700 12px/1.4 DM Mono}.stats-grid>div{padding:14px}
.log-panel li{font:11px/1.6 DM Mono;padding:10px 0}.modal-card{border-width:3px;box-shadow:0 24px 80px #000b}.event-glyph{font:700 22px DM Mono}.modal button{font:700 11px DM Mono}.toast{font:700 11px DM Mono}
@media(max-width:1100px){.hero{grid-template-columns:1fr 1fr}.hero-copy{grid-row:1/3}.pixel-yard,.season-card{grid-column:2}.dashboard{grid-template-columns:minmax(0,1.55fr) 320px}.job-ticket{grid-template-columns:48px 1fr}.job-reward{grid-column:2;text-align:left;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:8px}.job-reward>span{margin:0}.job-reward button{width:auto}.resource-grid>div{padding-inline:15px}}
@media(max-width:820px){.hero{grid-template-columns:1fr}.hero-copy,.pixel-yard,.season-card{grid-column:auto;grid-row:auto}.dashboard{grid-template-columns:1fr}.side-column{display:grid;grid-template-columns:1fr 1fr;align-items:start}.log-panel{grid-column:1/-1}.stage-road{grid-template-columns:repeat(7,155px)}}
@media(max-width:600px){html,body{overflow-x:hidden}main{width:calc(100% - 24px)}.hero{padding-top:32px}.hero>*{min-width:0;max-width:100%}.hero h1{font-size:44px}.lede{font-size:15px;overflow-wrap:anywhere}.panel{padding:20px}.side-column{display:flex}.parts-grid{grid-template-columns:1fr}.resource-grid{grid-template-columns:1fr 1fr}.resource-grid>div{padding:0;border:0}.resource-grid>div:first-child{grid-column:1/-1}.job-ticket{padding:14px}.ops-tabs{overflow-x:auto;grid-template-columns:repeat(4,110px)}#opsContent{padding:20px}.panel h2{font-size:22px}.big-number strong{font-size:21px}.ticker{grid-template-columns:auto minmax(0,1fr)}.ticker p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.market-actions button{font-size:9px}}

/* Save slots and field manual */
.game-select{position:fixed;inset:0;z-index:150;background:#091511;display:grid;place-items:center;padding:28px;overflow:auto;background-image:radial-gradient(circle at 82% 18%,#285c40 0,transparent 28%),linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);background-size:auto,48px 48px,48px 48px;transition:opacity .25s,visibility .25s}.game-select.closed{opacity:0;visibility:hidden;pointer-events:none}.select-shell{width:min(1040px,100%);display:grid;grid-template-columns:300px 1fr;gap:34px}.select-brand{grid-column:1/-1;display:flex;align-items:center;gap:13px;border-bottom:1px solid #3b5549;padding-bottom:22px}.select-brand .brand-mark{display:block}.select-brand p{font-size:17px;font-weight:800;letter-spacing:.16em;margin:0}.select-brand small{font:11px DM Mono;color:var(--muted);letter-spacing:.12em}.select-copy{padding-top:20px}.select-copy h1{font-size:55px;line-height:.98;letter-spacing:-.06em;margin:0 0 22px}.select-copy h1 em{font-style:normal;color:var(--green);text-shadow:3px 3px #315f22}.select-copy>p:last-child{color:#b4c3ba;font-size:15px;line-height:1.65}.save-slots{display:flex;flex-direction:column;gap:12px}.save-slot{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr) 120px;align-items:center;gap:18px;background:#14251e;border:2px solid #3a594b;padding:18px 20px;box-shadow:5px 5px 0 #050d09;transition:.15s}.save-slot:hover{border-color:#67947d;transform:translateX(3px)}.slot-number{width:48px;height:48px;display:grid;place-items:center;background:#20372c;color:var(--green);font:700 16px DM Mono}.save-slot small{font:700 10px DM Mono;color:var(--mint);letter-spacing:.08em}.save-slot h3{font-size:19px;margin:2px 0}.save-slot p{font-size:12px;color:#b4c3ba;margin:0}.save-slot time{font:10px DM Mono;color:#71867a}.save-slot>button,.select-close{border:0;border-bottom:4px solid #4e942d;background:var(--green);color:#102016;padding:13px 10px;font:800 11px DM Mono;cursor:pointer}.save-slot.empty{min-height:125px;border-style:dashed}.slot-actions{grid-column:3;display:grid;grid-template-columns:1fr 1fr;gap:5px}.slot-actions button{border:1px solid #496657;background:transparent;color:#9eb1a6;padding:7px 4px;font:700 8px DM Mono;cursor:pointer}.slot-actions button:last-child{color:#ff927e;border-color:#71483e}.slot-actions button:hover{background:#263e32;color:white}.select-close{grid-column:2;justify-self:end;background:transparent;color:var(--green);border:1px solid #4d6d5d;padding:11px 15px}.select-foot{grid-column:1/-1;text-align:right;font:10px DM Mono;color:#71867a;margin:0}
.help-modal{position:fixed;inset:0;z-index:140;background:#06100de8;display:grid;place-items:center;padding:24px}.help-modal[hidden]{display:none}.help-shell{width:min(960px,100%);max-height:min(760px,92vh);overflow:auto;background:#13231d;border:2px solid #527261;box-shadow:10px 10px 0 #020704}.help-shell>header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:start;padding:24px 28px 19px;background:#172a21;border-bottom:1px solid #3a5548}.help-shell h2{font-size:28px;margin:0}.help-shell>header button{width:42px;height:42px;background:transparent;border:1px solid #557565;color:var(--ink);font:28px/1 Manrope;cursor:pointer}.help-shell>header button:hover{background:var(--green);color:#102016}#helpNav{position:sticky;top:108px;z-index:2;display:grid;grid-template-columns:repeat(5,1fr);background:#0e1d17;border-bottom:1px solid #3a5548}#helpNav button{padding:15px 7px;border:0;border-right:1px solid #30483c;background:transparent;color:#8fa298;font:700 10px DM Mono;cursor:pointer}#helpNav button.active{background:var(--green);color:#102016}.help-content{padding:30px}.help-intro h3{font-size:30px;letter-spacing:-.04em;margin:0 0 8px}.help-intro>p:last-child{font-size:15px;line-height:1.65;color:#afc0b6;max-width:720px}.help-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0}.help-cards article{display:grid;grid-template-columns:48px 1fr;gap:15px;border:1px solid #385447;background:#101e18;padding:18px}.help-cards article>span{width:43px;height:43px;display:grid;place-items:center;background:#20382c;color:var(--green);font:700 12px DM Mono}.help-cards h4{font-size:15px;margin:0 0 5px}.help-cards p{font-size:12px;line-height:1.55;color:#aebdb5;margin:0}.manual-tip{display:grid;grid-template-columns:100px 1fr;gap:18px;align-items:center;background:#27351e;border-left:5px solid var(--gold);padding:15px 18px}.manual-tip b{font:700 10px DM Mono;color:var(--gold)}.manual-tip p{font-size:12px;line-height:1.5;margin:0;color:#d2dbd6}
@media(max-width:760px){.game-select{padding:18px}.select-shell{grid-template-columns:1fr}.select-copy{padding-top:0}.select-copy h1{font-size:44px}.save-slots,.select-close{grid-column:1}.save-slot{grid-template-columns:44px 1fr}.save-slot>button{grid-column:2}.slot-actions{grid-column:2}.select-foot{grid-column:1}.help-shell>header{padding:19px}.help-shell h2{font-size:22px}#helpNav{top:92px;overflow-x:auto;grid-template-columns:repeat(5,110px)}.help-content{padding:20px}.help-cards{grid-template-columns:1fr}.manual-tip{grid-template-columns:1fr;gap:5px}}
@media(max-width:430px){.select-brand{flex-wrap:wrap}.select-brand small{width:100%;margin-left:42px}.select-copy h1{font-size:39px}.save-slot{padding:14px;gap:12px}.save-slot h3{font-size:16px}.save-slot p{font-size:11px}.slot-actions{grid-template-columns:1fr}.help-modal{padding:10px}.help-content{padding:16px}.help-cards article{padding:14px;grid-template-columns:38px 1fr}.help-cards article>span{width:35px;height:35px}}

/* Dispatch queue and simulation controls */
.speed-controls{display:flex;align-items:center;gap:4px;border:1px solid #385447;padding:4px}.speed-controls>span{font:700 9px DM Mono;color:var(--muted);padding:0 7px}.speed-controls button{min-width:32px;border:0;background:#1c3027;color:#91a49a;padding:7px 6px;font:700 10px DM Mono;cursor:pointer}.speed-controls button.active{background:var(--green);color:#102016}.speed-controls button:disabled{opacity:.28;cursor:not-allowed}.queue-heading{display:flex;justify-content:space-between;align-items:center;margin:6px 0 2px;padding:8px 2px;color:var(--gold);font:700 10px DM Mono;letter-spacing:.08em}.queue-heading b{font-size:9px;border:1px solid #655d34;padding:5px 7px}.leads-heading{color:var(--mint);margin-top:15px}.leads-heading b{border-color:#3d6754}.job-ticket.queued{position:relative;grid-template-columns:32px 48px 1fr auto;background:#182920;border-left-color:var(--gold);opacity:.85}.queue-order{width:28px;height:28px;display:grid;place-items:center;background:var(--gold);color:#332d13;font:700 11px DM Mono}.job-ticket.queued .job-icon{width:40px;height:40px}.job-ticket.queued .job-reward{min-width:92px}.job-ticket button:not(:disabled){animation:none!important}
@media(max-width:980px){.speed-controls>span{display:none}}
@media(max-width:700px){.speed-controls{position:fixed;right:12px;bottom:12px;z-index:25;background:#0e1d17;box-shadow:3px 3px 0 #000}.job-ticket.queued{grid-template-columns:28px 42px 1fr}.job-ticket.queued .job-reward{grid-column:3}.masthead{gap:8px}.icon-button{padding-inline:9px}}
.dispatch-explainer{margin:-10px 0 20px;padding:11px 13px;background:#102d22;border-left:4px solid var(--mint);color:#c3d1ca;font-size:12px;line-height:1.5}.service-type{display:block;color:var(--job);font:700 9px/1.4 DM Mono;letter-spacing:.08em;margin-bottom:3px}.labor-upgrade{border-color:#52783f;background:#193023}.upgrade-tag{display:block;color:var(--green);font:700 9px/1.4 DM Mono;letter-spacing:.08em;margin-bottom:5px}.labor-pips{display:flex;gap:5px;margin-top:9px}.labor-pips i{display:block;width:24px;height:5px;background:#30473c}.labor-pips i.filled{background:var(--green);box-shadow:0 0 7px #9dff5855}.labor-upgrade>button{border-color:#65944c;color:var(--green)}
.labor-upgrade.bought,.warehouse-upgrade.bought{opacity:1}.warehouse-upgrade{border-color:#3e7881;background:#122d2c}.warehouse-upgrade .upgrade-tag,.warehouse-upgrade>button{color:#6fe4ef}.warehouse-upgrade>button{border-color:#498a92}.warehouse-upgrade .labor-pips i.filled{background:#6fe4ef;box-shadow:0 0 7px #6fe4ef55}

/* Stable interaction, compact view, and keyboard accessibility */
.water-button,.water-button:hover,.water-button:active,.water-button.active{transform:none;border-bottom-width:5px;min-height:96px}.water-button:hover{filter:brightness(1.06)}.water-button:active,.water-button.active{filter:brightness(.9);box-shadow:inset 4px 4px 0 #559e2e,inset -4px -4px 0 #caff9d}.water-button:focus-visible{outline:4px solid #fff;outline-offset:4px}
button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--gold);outline-offset:3px;position:relative;z-index:3}.save-slot:focus-within{border-color:var(--gold);box-shadow:5px 5px 0 #050d09,0 0 0 2px var(--gold)}.help-shell button:focus-visible,.modal button:focus-visible{outline-color:#fff}.ops-tabs button:focus-visible{outline-offset:-4px}.job-reward button:focus-visible{outline-color:var(--gold)}
.compact-view .hero{grid-template-columns:minmax(360px,1.2fr) minmax(360px,.8fr);padding:24px 0 20px;align-items:center}.compact-view .hero-copy h1{font-size:52px}.compact-view .hero-copy .lede{margin-top:13px}.compact-view .pixel-yard{height:170px}.compact-view .season-card{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:12px 18px}.compact-view .season-top{display:block}.compact-view .season-temp{margin:0;gap:22px}.compact-view .season-temp strong{font-size:27px}.compact-view .season-track{margin:0}.compact-view .season-card>small{text-align:right}.compact-view .ticker{min-height:44px}.compact-view .stage-road{margin-top:16px}.compact-view .dashboard{padding-top:20px}.compact-view .panel{padding:22px}.compact-view .job-scene{height:70px}.compact-view .water-button{min-height:76px}.compact-view .resource-grid{margin-top:18px}.compact-view #opsContent{padding:22px}.compact-view .job-ticket{padding-block:12px}.compact-view .panel-heading{margin-bottom:18px}
@media(max-width:820px){.compact-view .hero{grid-template-columns:1fr}.compact-view .pixel-yard,.compact-view .season-card{grid-column:auto}.compact-view .season-card{display:block}.compact-view .season-temp{margin:10px 0}.compact-view .season-track{margin:10px 0}}
@media(max-width:600px){#viewButton{display:none}.masthead .icon-button{font-size:9px;padding:8px 7px}}

/* Premium environmental graphics pass */
body{background-image:radial-gradient(circle at 65% -15%,#286046 0,transparent 32%),radial-gradient(circle at 8% 45%,#173729 0,transparent 24%),linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff035 1px,transparent 1px)}
.masthead{background:linear-gradient(90deg,#0b1813f5,#10241bf2);box-shadow:0 10px 35px #0005}.panel{position:relative;background:linear-gradient(145deg,#172b22 0,#112019 72%);border-color:#3e6250;box-shadow:0 18px 45px #0004,inset 0 1px #ffffff08}.panel::after{content:"";position:absolute;pointer-events:none;inset:7px;border:1px solid #ffffff05}.panel>.panel-heading,.panel>div,.panel>p,.panel>ol{position:relative;z-index:1}.market-panel{background:radial-gradient(circle at 100% 0,#1e4733 0,transparent 42%),linear-gradient(145deg,#172b22,#112019)}.milestone-panel{background:radial-gradient(circle at 95% 5%,#5a481b36 0,transparent 38%),linear-gradient(145deg,#172b22,#112019)}
.pixel-yard{background-image:linear-gradient(180deg,#06120a00 48%,#06120a99),url("assets/jobs/residential-lawn.png");background-size:cover;background-position:center 56%;border-color:#5d836f;box-shadow:0 16px 35px #0006,inset 0 0 0 3px #b5ffff20}.pixel-yard>.pixel-sun,.pixel-yard>.cloud,.pixel-yard>.mountains,.pixel-yard>.house,.pixel-yard>.tree,.pixel-yard>.sprinkler,.pixel-yard>.worker,.pixel-yard>.hose-line,.pixel-yard>.pixel-grass{display:none}.yard-caption{background:linear-gradient(90deg,#07140ff2,#07140fb5);padding:10px 12px;backdrop-filter:blur(3px)}
.job-scene{--recovery:0;height:285px;margin-bottom:20px;background-size:cover;background-position:center;border:2px solid #577767;box-shadow:inset 0 0 0 3px #d9fff014,0 12px 30px #0005;isolation:isolate;filter:none;transition:background-image .25s}.job-scene::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#07150ead 0,transparent 28%,transparent 72%,#07150e7d),linear-gradient(0deg,#07150ecc 0,transparent 35%);z-index:1;box-shadow:none;width:auto;height:auto;right:0;top:0}.job-scene::after{content:"";position:absolute;inset:0;height:auto;background:#4dff7147;opacity:calc(var(--recovery) * .32);mix-blend-mode:color;z-index:1;transition:opacity .5s}.job-scene.type-lawn{background-image:url("assets/jobs/residential-lawn.png")}.job-scene.type-estate{background-image:url("assets/jobs/estate-watering-v2.png")}.job-scene.type-tuneup,.job-scene.type-repair{background-image:url("assets/jobs/residential-repair.png")}.job-scene.type-drip{background-image:url("assets/jobs/drip-garden.png")}.job-scene.type-install{background-image:url("assets/jobs/system-install.png")}.job-scene.type-commercial{background-image:url("assets/jobs/commercial-retrofit.png")}.job-scene.idle{background-image:url("assets/jobs/residential-lawn.png");filter:saturate(.4) brightness(.55)}
.scene-vignette{position:absolute;inset:0;z-index:2;box-shadow:inset 0 0 55px #04100a75;pointer-events:none}.scene-topline{position:absolute;z-index:5;left:15px;right:15px;top:14px;display:flex;justify-content:space-between;align-items:center}.scene-topline span,.scene-topline b{padding:8px 10px;background:#07150ddd;border:1px solid #72927f;color:#f2f8f4;font:700 10px DM Mono;letter-spacing:.08em;backdrop-filter:blur(5px)}.scene-topline b{background:var(--green);border-color:var(--green);color:#102016}
.scene-rig{position:absolute;z-index:5;left:15px;bottom:26px;display:flex;align-items:center;gap:9px;padding:8px 11px 8px 8px;background:#07150de8;border:1px solid #547060;backdrop-filter:blur(5px)}.scene-rig>i{display:block;width:38px;height:25px;background:#e9f0e9;clip-path:polygon(0 30%,65% 30%,76% 0,94% 0,100% 48%,100% 80%,87% 80%,82% 100%,67% 100%,62% 80%,25% 80%,20% 100%,5% 100%,0 80%);box-shadow:inset -13px 0 #327550}.rig-van .scene-rig>i{width:47px;background:#e9f0e9;box-shadow:inset -19px 0 #327550}.rig-trailer .scene-rig>i{width:58px;box-shadow:inset -25px 0 #327550}.rig-fleet .scene-rig>i{width:53px;filter:drop-shadow(8px -5px 0 #77a68d)}.scene-rig small{display:block;color:#81968b;font:700 8px DM Mono}.scene-rig b{display:block;color:#fff;font:700 11px DM Mono}
.scene-comparison{position:absolute;z-index:5;right:15px;bottom:28px;width:185px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;color:#d2dfd8;font:700 8px DM Mono}.scene-comparison i{position:relative;height:4px;background:linear-gradient(90deg,#cda444,var(--green))}.scene-comparison i::after{content:"";position:absolute;left:var(--progress);top:50%;width:11px;height:11px;background:#fff;border:3px solid #163b27;border-radius:50%;transform:translate(-50%,-50%);transition:left .3s}.scene-comparison b{color:var(--green)}
.scene-sprays{position:absolute;inset:0;z-index:3;pointer-events:none;display:none}.type-lawn .scene-sprays,.type-estate .scene-sprays,.type-tuneup .scene-sprays{display:block}.scene-sprays i{position:absolute;bottom:22%;left:38%;width:150px;height:75px;border:3px dotted #d8fbff;border-bottom:0;border-radius:150px 150px 0 0;transform-origin:left bottom;animation:sceneSpray 1.8s steps(8) infinite;opacity:calc(.25 + var(--recovery) * .7);filter:drop-shadow(0 0 4px #61ddff)}.scene-sprays i:nth-child(2){left:58%;bottom:20%;transform:scale(.72);animation-delay:-.6s}.scene-sprays i:nth-child(3){left:76%;bottom:24%;transform:scale(.55);animation-delay:-1.2s}.job-progress{z-index:8;height:8px;background:#06100c}.job-progress i{background:linear-gradient(90deg,var(--mint),var(--green),#e8ff9c);box-shadow:0 0 15px var(--green)}
.type-repair .scene-vignette,.type-install .scene-vignette,.type-commercial .scene-vignette{animation:workPulse 2.5s ease-in-out infinite}.type-drip .scene-sprays{display:block}.type-drip .scene-sprays i{width:8px;height:8px;border:0;background:#9beaff;border-radius:50%;box-shadow:30px 2px #9beaff,60px -1px #9beaff,90px 2px #9beaff,120px 0 #9beaff;animation:dripPulse 1.2s steps(2) infinite}
.product-icon,.job-icon,.part-card>span:not(.part-sprite){background:radial-gradient(circle at 35% 30%,#315f4a,#13251d);box-shadow:inset 0 1px #a8ffe42b,0 5px 12px #0004}.job-ticket{background:linear-gradient(100deg,color-mix(in srgb,var(--job) 8%,#101e18),#101e18);box-shadow:0 7px 18px #0002}.job-ticket:hover{box-shadow:0 10px 22px #0004,0 0 0 1px color-mix(in srgb,var(--job) 55%,transparent)}.water-button{background:linear-gradient(180deg,#b1ff74,#8bec4b);text-shadow:0 1px #fff8}.water-button::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,#ffffff48 45%,transparent 65%);transform:translateX(-120%);transition:transform .5s}.water-button:hover::after{transform:translateX(120%)}.water-button{position:relative;overflow:hidden}

.parts-job-modal{position:fixed;inset:0;z-index:42;display:grid;place-items:center;padding:24px;background:#050c09e8;backdrop-filter:blur(5px)}.parts-job-modal[hidden]{display:none}.parts-job-shell{width:min(980px,100%);max-height:calc(100vh - 48px);overflow:auto;background:linear-gradient(145deg,#14261d,#0d1914);border:3px solid #496c5a;box-shadow:10px 10px 0 #020604,0 28px 90px #000c}.parts-job-shell>header{display:flex;justify-content:space-between;gap:30px;align-items:start;padding:28px 30px 22px;border-bottom:1px solid #395044}.parts-job-shell>header h2{margin:3px 0;font-size:30px}.parts-job-shell>header p:last-child{margin:5px 0 0;color:var(--muted);font:11px DM Mono}.parts-job-shell>header>button{width:42px;height:42px;background:#1a3025;color:var(--mint);border:1px solid #4f6d5d;font-size:25px;cursor:pointer}.parts-job-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:0}.parts-job-layout>section{padding:26px 30px}.parts-job-layout>section+section{border-left:1px solid #395044;background:#0b1712}.parts-takeoff-head{display:flex;justify-content:space-between;color:var(--mint);font:700 10px DM Mono;margin-bottom:12px}.parts-takeoff-head b{color:var(--gold)}.parts-takeoff-list{display:grid;gap:7px}.parts-takeoff-list article{display:grid;grid-template-columns:40px minmax(0,1fr) 60px 70px 60px;gap:10px;align-items:center;padding:9px 10px;border:1px solid #2d463a;background:#102019}.parts-takeoff-list article.short{border-left:4px solid var(--gold)}.parts-takeoff-list article.ready{opacity:.65}.parts-takeoff-list .part-sprite{width:34px;height:34px;background-size:272px 272px}.parts-takeoff-list h3{font-size:12px;margin:0}.parts-takeoff-list p{font:9px DM Mono;color:var(--muted);margin:3px 0 0}.parts-takeoff-list article>b,.parts-takeoff-list article>strong,.parts-takeoff-list article>em{font:700 9px DM Mono;text-align:right}.parts-takeoff-list article>strong{color:var(--mint)}.parts-takeoff-list article>em{color:var(--gold);font-style:normal}.parts-price-summary{margin-top:15px;border-top:1px solid #3a5145;padding-top:10px}.parts-price-summary>div{display:flex;justify-content:space-between;padding:5px 0;font:10px DM Mono;color:var(--muted)}.parts-price-summary strong{color:var(--green);font-size:15px}.bundle-game>span{color:var(--mint);font:700 9px var(--pixel)}.bundle-game h3{font-size:20px;margin:10px 0 6px}.bundle-game>p{color:var(--muted);font:11px/1.6 DM Mono}.bundle-quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.bundle-quote-grid button{aspect-ratio:1.1;background:linear-gradient(145deg,#213a2d,#13231b);border:1px solid #4b6b5a;color:var(--mint);cursor:pointer;box-shadow:3px 3px 0 #050b08}.bundle-quote-grid button:not(:disabled):hover{transform:translateY(-2px);border-color:var(--green)}.bundle-quote-grid span{display:block;font:7px var(--pixel)}.bundle-quote-grid b{display:block;margin-top:8px;font:18px DM Mono;color:var(--green)}.bundle-result{min-height:50px;display:grid;place-items:center;border:1px dashed #526d5e;color:var(--muted);font:10px DM Mono;text-align:center;padding:8px}.bundle-result b{color:var(--green)}#buyJobBundle{width:100%;margin-top:12px;background:var(--green);color:#102016;border:0;border-bottom:4px solid var(--dark-green);padding:13px;font:8px var(--pixel);cursor:pointer}#buyJobBundle:disabled{filter:grayscale(1);opacity:.35}.prospecting-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.prospecting-task{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid #3b5749;padding:16px;background:linear-gradient(120deg,#173125,#101e18)}.prospecting-task>span{width:42px;height:42px;display:grid;place-items:center;border:2px solid var(--mint);color:var(--mint);font:16px DM Mono}.prospecting-task small{color:var(--mint);font:8px var(--pixel)}.prospecting-task h3{font-size:14px;margin:5px 0}.prospecting-task p{font-size:10px;color:var(--muted);margin:0}.prospecting-task>button{background:var(--mint);color:#102016;border:0;border-bottom:3px solid #285848;padding:10px;font:7px var(--pixel);cursor:pointer}.prospecting-task.locked{filter:grayscale(.8);opacity:.5}.prospecting-track{height:6px;background:#223b30;margin-top:10px;overflow:hidden}.prospecting-track i{display:block;height:100%;background:var(--green);transition:width .2s}.dispatcher-upgrade{border-left:4px solid var(--mint)}.marketer-upgrade{border-left:4px solid #e4b562}
@media(max-width:760px){.parts-job-layout{grid-template-columns:1fr}.parts-job-layout>section+section{border-left:0;border-top:1px solid #395044}.parts-takeoff-list article{grid-template-columns:34px minmax(0,1fr) 52px}.parts-takeoff-list article>strong,.parts-takeoff-list article>em{display:none}.prospecting-grid{grid-template-columns:1fr}.prospecting-task{grid-template-columns:40px 1fr}.prospecting-task>button{grid-column:2}}
.upgrade-group{display:grid;gap:9px}.upgrade-group+.upgrade-group{margin-top:22px}.upgrade-group>header{display:flex;align-items:end;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid #395548;background:#0c1913}.upgrade-group>header span{color:var(--green);font:8px var(--pixel);letter-spacing:.08em}.upgrade-group>header small{color:#82978c;font:8px DM Mono;text-align:right}.office-upgrades>header{box-shadow:inset 4px 0 var(--mint)}.equipment-upgrades>header{box-shadow:inset 4px 0 var(--gold)}.business-task{grid-template-columns:44px 1fr;border-left:4px solid var(--gold)}.business-task>span{border-color:var(--gold);color:var(--gold)}
.office-staff-upgrade{border-left:4px solid var(--mint);background:linear-gradient(110deg,#173127,#101e18 55%)}.office-staff-copy{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px}.office-staff-copy .pixel-person{transform:scale(.85);transform-origin:center}.office-staff-copy .upgrade-tag{display:block;margin-bottom:4px;color:var(--mint);font:700 7px DM Mono;letter-spacing:.08em}.office-staff-upgrade.bought{opacity:.65}

.parts-job-shell{background:#101d17;border-color:#6b8d79}.parts-job-shell>header{position:relative;background:linear-gradient(90deg,#1b3528,#12231b)}.parts-job-shell>header::after{content:"SUPPLY HOUSE · COMBO PURCHASE ORDER";position:absolute;right:84px;bottom:23px;color:#739181;font:700 8px DM Mono;letter-spacing:.12em}.parts-job-layout>section:first-child{background:repeating-linear-gradient(0deg,#13221b 0,#13221b 35px,#17271f 36px)}.parts-takeoff-list{grid-template-columns:repeat(3,minmax(120px,1fr));gap:10px}.parts-takeoff-list article{display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center;background:#0d1a14ed;min-height:205px;padding:14px 10px;border-left-width:1px}.parts-takeoff-list article.short{border-top:4px solid var(--gold)}.parts-takeoff-list article.ready{filter:grayscale(.7)}.parts-takeoff-list .part-sprite{width:82px;height:82px;background-size:400% 400%;flex:0 0 82px}.parts-takeoff-list article h3{font-size:13px;min-height:32px;display:grid;place-items:center}.parts-takeoff-list article>b{color:var(--gold);font:8px var(--pixel);text-align:center}.parts-takeoff-list article>small{font:9px DM Mono;color:#8da095}.parts-takeoff-list article>div{width:100%;border-top:1px solid #31493d;padding-top:7px;display:flex;justify-content:space-between;gap:5px;font:8px DM Mono}.parts-takeoff-list article>div span{color:#879a90}.parts-takeoff-list article>div strong{color:var(--green)}.parts-price-summary{background:#0a1510;border:1px solid #3a5145;padding:13px 15px;margin-top:16px}.parts-price-summary .order-original b{text-decoration:line-through;color:#a7b5ad}.parts-price-summary .order-current{border-top:1px solid #536c5f;margin-top:5px;padding-top:10px}.parts-price-summary .order-current span{color:#d5e5dc;font-weight:700}.parts-price-summary .order-current strong{font-size:20px}.bundle-game{position:relative;overflow:hidden}.bundle-game::after{content:"COMBO";position:absolute;right:-15px;top:80px;transform:rotate(90deg);font:30px var(--pixel);color:#ffffff05;pointer-events:none}.negotiation-scale{display:grid;grid-template-columns:repeat(6,1fr);margin:22px 0 7px;color:#8ca297;font:700 9px DM Mono}.negotiation-scale span{text-align:center}.negotiation-scale span:last-child{color:var(--green)}.negotiation-track{height:44px;position:relative;border:1px solid #496657;background:repeating-linear-gradient(90deg,#1b3026 0,#1b3026 calc(16.666% - 1px),#3c5749 calc(16.666% - 1px),#3c5749 16.666%);box-shadow:inset 0 0 20px #0008}.negotiation-track>div{position:absolute;inset:0;background:linear-gradient(90deg,#c98b3b22,#9dff5848)}.negotiation-track i{position:absolute;z-index:2;top:-6px;left:0;width:18px;height:56px;background:var(--green);border:3px solid #dcffc4;box-shadow:0 0 18px var(--glow),4px 4px 0 #020604;animation:bargainSweep var(--negotiation-speed,1.6s) steps(20,end) infinite alternate}.negotiation-track.locked i{animation-play-state:paused;background:#ffd36e;border-color:#fff0b4}.bundle-game>#lockBundleDiscount{width:100%;margin:13px 0 9px;background:#223c2f;color:var(--mint);border:1px solid #62806f;border-bottom:4px solid #0b160f;padding:12px;font:8px var(--pixel);cursor:pointer}.bundle-game>#lockBundleDiscount:hover:not(:disabled){background:#315442}.bundle-game>#lockBundleDiscount:disabled{opacity:.45}.bundle-result{display:flex;flex-direction:column;gap:4px}.bundle-result span{display:block;color:#dce9e1;font:700 12px DM Mono}.bundle-result small{display:block;color:#768b80;font:9px/1.4 DM Mono}@keyframes bargainSweep{from{left:0}to{left:calc(100% - 18px)}}@media(max-width:760px){.parts-job-shell>header::after{display:none}.parts-takeoff-list{grid-template-columns:repeat(2,minmax(120px,1fr))}}@media(max-width:420px){.parts-takeoff-list{grid-template-columns:1fr}}
@keyframes sceneSpray{0%,100%{transform:scaleX(.35) rotate(-4deg);opacity:.35}50%{transform:scaleX(1) rotate(3deg);opacity:.9}}@keyframes workPulse{50%{box-shadow:inset 0 0 75px #ffb75c26}}@keyframes dripPulse{50%{transform:translateY(5px);opacity:.45}}
@media(max-width:800px){.job-scene{height:225px}.scene-comparison{width:150px}.scene-topline span,.scene-topline b{font-size:8px}.scene-rig span{display:none}}
@media(max-width:520px){.job-scene{height:190px}.scene-comparison{display:none}.scene-rig{bottom:22px}.scene-topline span{max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
.pixel-yard.hero-type-tuneup,.pixel-yard.hero-type-repair{background-image:linear-gradient(180deg,#06120a00 48%,#06120a99),url("assets/jobs/residential-repair.png")}.pixel-yard.hero-type-drip{background-image:linear-gradient(180deg,#06120a00 48%,#06120a99),url("assets/jobs/drip-garden.png")}.pixel-yard.hero-type-install{background-image:linear-gradient(180deg,#06120a00 48%,#06120a99),url("assets/jobs/system-install.png")}.pixel-yard.hero-type-commercial{background-image:linear-gradient(180deg,#06120a00 48%,#06120a99),url("assets/jobs/commercial-retrofit.png")}

/* Multi-job operations and top finances */
.top-finance{display:flex;align-items:center;gap:20px;margin-left:auto}.cash-primary{text-align:right}.cash-primary span,.value-secondary span{display:block;color:#91a399;font:700 9px DM Mono;letter-spacing:.1em}.cash-primary strong{display:block;color:var(--green);font:800 25px/1.2 DM Mono;text-shadow:0 0 18px #9dff5833}.value-secondary{padding-left:18px;border-left:1px solid #385447}.value-secondary b{display:block;color:#d3ded8;font:700 12px DM Mono}.masthead .header-stat{display:none}
.job-slot-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px;margin:-10px 0 12px}.job-slot-tabs button{position:relative;min-width:0;text-align:left;padding:12px 13px;border:1px solid #395849;background:#0e1c16;color:#91a49a;cursor:pointer}.job-slot-tabs button span{display:block;font:700 8px DM Mono;color:var(--mint);letter-spacing:.08em}.job-slot-tabs button b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#edf5f0;font-size:12px;margin:4px 0}.job-slot-tabs button small{font:9px DM Mono}.job-slot-tabs button i{position:absolute;right:10px;top:10px;color:#7f9589;font:700 8px DM Mono;font-style:normal}.job-slot-tabs button.active{background:linear-gradient(135deg,#204332,#14271e);border-color:var(--green);box-shadow:inset 0 -4px var(--green)}.slot-crew-bar{min-height:40px;display:flex;align-items:center;gap:7px;margin-bottom:20px;padding:8px 10px;background:#0d1b15;border:1px solid #304b3e}.slot-crew-bar>span{font:700 8px DM Mono;color:#81958a;margin-right:3px}.slot-crew-bar button{border:1px solid #49705c;background:#1a3729;color:#d9e6df;padding:6px 8px;font:700 9px DM Mono;cursor:pointer}.slot-crew-bar button b{color:#ff927e;margin-left:5px}.slot-crew-bar em{font:9px DM Mono;color:#6f8579;font-style:normal}.slot-crew-bar>i{margin-left:auto;color:var(--green);font:700 9px DM Mono;font-style:normal}
.crew-assign-controls{grid-column:1/-1;display:grid;grid-template-columns:1fr repeat(3,70px);gap:6px;align-items:center;margin-top:5px;padding-top:10px;border-top:1px solid #2e473b}.crew-assign-controls span{font:700 9px DM Mono;color:var(--mint)}.crew-assign-controls button{grid-column:auto!important;border:1px solid #446353!important;background:#172b22!important;color:var(--green)!important;padding:7px 4px!important;font:700 8px DM Mono!important}.crew-assign-controls button:disabled{opacity:.25}.staff-card:has(.crew-assign-controls){grid-template-columns:auto 1fr auto auto}
@media(max-width:1120px){.top-finance{gap:10px}.value-secondary{display:none}.masthead{gap:10px}.cash-primary strong{font-size:20px}.speed-controls{display:none}}
@media(max-width:700px){.top-finance{position:absolute;right:12px;top:82px;z-index:20;background:#0e1d17;border:1px solid #385447;padding:8px 11px}.cash-primary span{font-size:7px}.cash-primary strong{font-size:16px}.job-slot-tabs{overflow-x:auto;grid-template-columns:repeat(auto-fit,minmax(185px,1fr))}.slot-crew-bar{flex-wrap:wrap}.slot-crew-bar>i{width:100%;margin:0}.crew-assign-controls{grid-template-columns:1fr repeat(3,58px)}}

/* Balance Lab */
.debug-trigger{border-color:#9b7c37;color:var(--gold)}.debug-modal{position:fixed;inset:0;z-index:145;background:#030a08e8;display:grid;place-items:center;padding:22px;backdrop-filter:blur(8px)}.debug-modal[hidden]{display:none}.debug-shell{width:min(1100px,100%);max-height:94vh;display:flex;flex-direction:column;background:#101f19;border:2px solid #6a8052;box-shadow:12px 12px 0 #020604,0 25px 100px #000b}.debug-shell>header{display:flex;justify-content:space-between;align-items:start;padding:24px 28px;background:radial-gradient(circle at 85% 0,#51441f55,transparent 30%),#172a21;border-bottom:1px solid #415c4d}.debug-shell>header h2{font-size:30px;margin:0}.debug-shell>header p:last-child{font-size:12px;color:#a8b9b0;margin:5px 0 0}.debug-shell>header button{width:42px;height:42px;border:1px solid #5e776a;background:#102019;color:#edf6f1;font-size:25px;cursor:pointer}#debugNav{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid #3a5548;background:#0b1712}#debugNav button{border:0;border-right:1px solid #30483c;background:transparent;color:#8fa298;padding:15px 8px;font:700 10px DM Mono;cursor:pointer}#debugNav button.active{background:var(--gold);color:#29230f}#debugContent{padding:26px;overflow:auto;min-height:430px}.debug-shell>footer{display:flex;align-items:center;gap:8px;padding:15px 24px;border-top:1px solid #3a5548;background:#0b1712}.debug-shell>footer span{margin-right:auto;color:#768a7f;font:10px DM Mono}.debug-shell>footer button{border:1px solid #587263;background:#182d23;color:var(--green);padding:9px 12px;font:700 9px DM Mono;cursor:pointer}.debug-shell>footer .danger{color:#ff927e;border-color:#70463d}
.debug-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.debug-kpis article{padding:17px;background:linear-gradient(145deg,#182d23,#112019);border:1px solid #395748}.debug-kpis span{display:block;color:#8da196;font:700 9px DM Mono;letter-spacing:.07em}.debug-kpis b{display:block;color:var(--green);font:700 21px DM Mono;margin:8px 0 3px}.debug-kpis b.negative{color:#ff927e}.debug-kpis small{color:#9bada3;font:10px DM Mono}.debug-chart-card{margin-top:16px;padding:17px;border:1px solid #385447;background:#0d1a15}.debug-chart-card header{display:flex;justify-content:space-between;color:#b9c7bf;font:10px DM Mono}.debug-chart-card header span{color:#74887d}.debug-bars{height:105px;display:flex;gap:3px;align-items:end;margin-top:14px;border-bottom:1px solid #435b4e;background:repeating-linear-gradient(0deg,#ffffff05 0 1px,transparent 1px 25px)}.debug-bars i{flex:1;min-width:2px;max-width:20px;background:linear-gradient(var(--green),#2f8156);box-shadow:0 0 7px #9dff5820}.debug-empty{padding:40px;text-align:center;color:#65796e;font:10px DM Mono}
.balance-warnings{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.balance-warnings article{display:grid;grid-template-columns:30px 1fr;gap:11px;padding:14px;border:1px solid #594d2b;background:#292619}.balance-warnings i{width:27px;height:27px;display:grid;place-items:center;background:var(--gold);color:#302811;font:700 12px DM Mono;font-style:normal}.balance-warnings b{font-size:13px}.balance-warnings p{color:#b8b39c;font-size:11px;line-height:1.45;margin:4px 0 0}.debug-section-head h3{font-size:23px;margin:0}.debug-section-head p{color:#9eafa6;font-size:12px;margin:4px 0 18px}.level-debug{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.level-debug article{padding:13px 10px;border:1px solid #30483c;background:#0d1a15;opacity:.4}.level-debug article.hit{opacity:1;border-color:#58705f}.level-debug span,.level-debug small{display:block;color:#7f9388;font:9px DM Mono}.level-debug b{display:block;font-size:11px;margin:7px 0;min-height:32px}.level-debug strong{display:block;color:var(--green);font:700 11px DM Mono;margin-bottom:5px}
.expense-table{margin-top:16px;border:1px solid #385447}.expense-table>div{display:grid;grid-template-columns:120px 1fr 110px;align-items:center;gap:14px;padding:11px 14px;border-bottom:1px solid #2b4237}.expense-table>div:last-child{border:0}.expense-table span,.expense-table strong{font:10px DM Mono}.expense-table strong{text-align:right}.expense-table i{height:7px;background:#263b30}.expense-table i b{display:block;height:100%;background:linear-gradient(90deg,#d4a845,var(--gold))}
.debug-job-table{border:1px solid #385447;min-width:760px}.debug-job-table>header,.debug-job-table>div{display:grid;grid-template-columns:1.5fr repeat(5,1fr);gap:10px;padding:11px 13px;border-bottom:1px solid #2b4237;align-items:center}.debug-job-table>header{background:#1b3026;color:#8fa298;font:700 9px DM Mono}.debug-job-table>div b{font-size:12px}.debug-job-table>div span{font:10px DM Mono;color:#c8d3cd}.debug-raw{max-height:470px;overflow:auto;margin:0;padding:18px;background:#07100c;border:1px solid #385447;color:#9de2ba;font:10px/1.55 DM Mono;white-space:pre-wrap}.debug-section-head code{color:var(--green)}
@media(max-width:800px){.debug-modal{padding:8px}.debug-kpis{grid-template-columns:1fr 1fr}.balance-warnings{grid-template-columns:1fr}.level-debug{grid-template-columns:repeat(7,130px);overflow-x:auto}#debugNav{grid-template-columns:repeat(5,110px);overflow-x:auto}#debugContent{padding:18px}.debug-shell>footer{flex-wrap:wrap}.debug-shell>footer span{width:100%}}
.estimate button+button{margin-top:8px}

/* Worker-to-crew management */
.workforce-summary{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:8px;align-items:stretch;margin-bottom:14px}.workforce-summary>div{padding:13px;background:#0d1b15;border:1px solid #354f43}.workforce-summary span{display:block;color:#82978c;font:700 8px DM Mono}.workforce-summary b{display:block;color:var(--green);font:700 19px DM Mono;margin-top:4px}.workforce-summary>button{grid-row:1/3;grid-column:4;border:0;border-bottom:4px solid #4d942b;background:var(--green);color:#102016;padding:10px 15px;font:700 10px DM Mono;cursor:pointer}.workforce-summary>button:disabled{filter:grayscale(1);opacity:.35}.workforce-summary>small{grid-column:1/4;color:#75897e;font:9px DM Mono}
.crew-builder{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px}.crew-builder article{display:grid;grid-template-columns:30px 1fr;gap:9px;padding:13px;border:1px solid color-mix(in srgb,var(--crew) 55%,#2e483a);background:linear-gradient(145deg,color-mix(in srgb,var(--crew) 10%,#14251e),#101e18)}.crew-builder article>i{width:27px;height:27px;background:var(--crew);clip-path:polygon(50% 0,100% 25%,84% 100%,16% 100%,0 25%)}.crew-builder span{font:700 8px DM Mono;color:var(--crew)}.crew-builder h3{font-size:13px;margin:2px 0}.crew-builder p{font-size:10px;line-height:1.4;color:#9eb0a6;margin:0}.crew-builder button{grid-column:1/3;border:1px solid var(--crew);background:transparent;color:var(--crew);padding:8px;font:700 9px DM Mono;cursor:pointer}.crew-builder small{grid-column:1/3;color:#72877b;font:9px DM Mono;text-align:center}.crew-builder .locked{opacity:.35}
.crew-roster>h3,.office-staff>h3{margin:0 0 9px;color:#8da096;font:700 10px DM Mono;letter-spacing:.08em}.crew-roster{margin-bottom:20px}.crew-roster>article{display:grid;grid-template-columns:38px 1fr auto;gap:11px;align-items:center;padding:12px;border:1px solid #365345;border-left:4px solid var(--crew);background:#101e18;margin-bottom:7px}.crew-badge{width:34px;height:34px;display:grid;place-items:center;background:var(--crew);color:#102016;font:700 11px DM Mono}.crew-roster h4{font-size:13px;margin:0}.crew-roster p{font-size:10px;color:#8fa298;margin:2px 0}.crew-roster>article>b{color:var(--crew);font:700 9px DM Mono}.crew-slot-actions{grid-column:2/4;display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.crew-slot-actions button{border:1px solid #3e5c4d;background:#172a21;color:#aebdb5;padding:7px 3px;font:700 8px DM Mono;cursor:pointer}.crew-slot-actions button:not(:disabled):hover{border-color:var(--crew);color:var(--crew)}.crew-slot-actions button:disabled{opacity:.25}.crew-slot-actions .danger{color:#ff927e}.office-staff{padding-top:15px;border-top:1px solid #334e40}
@media(max-width:700px){.workforce-summary{grid-template-columns:1fr 1fr}.workforce-summary>button{grid-row:auto;grid-column:1/3}.workforce-summary>small{grid-column:1/3}.crew-builder{grid-template-columns:1fr}.crew-slot-actions{grid-template-columns:1fr 1fr}.crew-roster>article{grid-template-columns:38px 1fr}.crew-roster>article>b{grid-column:2}.crew-slot-actions{grid-column:1/3}}

/* Development feedback inbox */
.feedback-trigger{border-color:#4a846c;color:var(--mint)}.feedback-modal{position:fixed;inset:0;z-index:147;background:#030a08e8;display:grid;place-items:center;padding:22px;backdrop-filter:blur(8px)}.feedback-modal[hidden]{display:none}.feedback-shell{width:min(760px,100%);max-height:94vh;overflow:auto;background:#101f19;border:2px solid #5f8872;box-shadow:12px 12px 0 #020604,0 25px 100px #000b}.feedback-shell>header{display:flex;justify-content:space-between;align-items:start;padding:24px 28px;background:radial-gradient(circle at 85% 0,#1f604255,transparent 34%),#172a21;border-bottom:1px solid #415c4d}.feedback-shell>header h2{font-size:30px;margin:0}.feedback-shell>header p:last-child{font-size:12px;color:#a8b9b0;margin:5px 0 0}.feedback-shell>header code{color:var(--green)}.feedback-shell>header button{width:42px;height:42px;border:1px solid #5e776a;background:#102019;color:#edf6f1;font-size:25px;cursor:pointer}.feedback-fields{display:grid;grid-template-columns:1fr 2fr;gap:16px;padding:28px}.feedback-fields label>span,.feedback-context>span{display:block;margin-bottom:7px;color:#8fa49a;font:700 9px DM Mono;letter-spacing:.08em}.feedback-fields input,.feedback-fields select,.feedback-fields textarea{width:100%;border:1px solid #4b695a;background:#0a1712;color:#eef7f2;padding:12px;font:12px/1.5 DM Mono;outline:none}.feedback-fields input:focus,.feedback-fields select:focus,.feedback-fields textarea:focus{border-color:var(--green);box-shadow:0 0 0 2px #9dff5825}.feedback-fields select option{background:#102019}.feedback-fields textarea{min-height:190px;resize:vertical}.feedback-fields .wide{grid-column:1/-1}.feedback-context{padding:12px 14px;border:1px solid #354f42;background:#0b1712}.feedback-context code{color:#aebdb5;font:10px DM Mono}.feedback-shell>footer{display:flex;align-items:center;gap:8px;padding:16px 24px;border-top:1px solid #3a5548;background:#0b1712}.feedback-shell>footer>span{margin-right:auto;color:#87a095;font:9px DM Mono}.feedback-shell>footer button{border:1px solid #587263;background:#182d23;color:var(--mint);padding:10px 13px;font:700 9px DM Mono;cursor:pointer}.feedback-shell>footer button[type=submit]{border-color:var(--green);background:var(--green);color:#102016}.feedback-shell>footer button:disabled{opacity:.45}
@media(max-width:700px){.feedback-modal{padding:8px}.feedback-fields{grid-template-columns:1fr;padding:18px}.feedback-fields .wide{grid-column:auto}.feedback-shell>footer{flex-wrap:wrap}.feedback-shell>footer>span{width:100%;margin:0}.feedback-shell>footer button{flex:1}.masthead{overflow-x:auto}}

.supplier-upgrade{border-left:4px solid #78b7ff}

/* Complete graphics and animation pass */
:root{--accent-dark:#315f22;--accent-glow:#9dff58}
.hero h1 em{ text-shadow:4px 4px 0 var(--accent-dark)}.brand-mark{border-color:var(--green)}.cash-primary strong,.market-score,.big-number strong{filter:drop-shadow(0 0 10px color-mix(in srgb,var(--accent-glow) 28%,transparent))}.water-button{background:linear-gradient(180deg,color-mix(in srgb,var(--green) 82%,white),var(--green));border-color:var(--green);box-shadow:inset 4px 4px 0 color-mix(in srgb,var(--green) 45%,white),inset -4px 0 0 color-mix(in srgb,var(--green) 72%,black),0 0 35px color-mix(in srgb,var(--accent-glow) 16%,transparent)}.ops-tabs button.active,.ticker>span,.speed-controls button.active{background:var(--green)}.job-progress i{background:linear-gradient(90deg,var(--mint),var(--green),color-mix(in srgb,var(--green) 40%,white));box-shadow:0 0 15px var(--accent-glow)}

/* Generated 4×4 irrigation parts atlas. The rotor uses cell 3; the fixed spray body uses cell 4. */
.part-sprite{border:1px solid #4b6b5b;background-image:url("assets/ui/parts-atlas-v2.png");background-repeat:no-repeat;background-size:400% 400%;background-position:var(--sprite-position);image-rendering:pixelated;box-shadow:inset 0 0 0 2px #ffffff0a,0 7px 16px #0005}.part-card>span.part-sprite{width:52px;height:52px}
.part-nozzle{--sprite-position:0 0}.part-fitting{--sprite-position:33.333% 0}.part-spray{--sprite-position:100% 0}.part-rotor{--sprite-position:66.666% 0}
.part-pipe{--sprite-position:0 33.333%}.part-valve{--sprite-position:33.333% 33.333%}.part-wire{--sprite-position:66.666% 33.333%}.part-controller{--sprite-position:100% 33.333%}
.part-drip{--sprite-position:0 66.666%}.part-filter{--sprite-position:33.333% 66.666%}.part-backflow{--sprite-position:66.666% 66.666%}.part-smart{--sprite-position:100% 66.666%}
.part-sensor{--sprite-position:0 100%}.part-pump{--sprite-position:33.333% 100%}
.part-valveBox{background-image:url("assets/ui/part-valve-box-v1.png");background-size:cover;background-position:center}.part-spliceBox{background-image:url("assets/ui/part-wire-splice-box-v1.png");background-size:cover;background-position:center}.part-clampBag{background-image:url("assets/ui/part-clamp-bag-50-v1.png");background-size:cover;background-position:center}
.part-pvcCement{background-image:url("assets/ui/part-pvc-cement-kit-v1.png");background-size:cover;background-position:center}.part-poly25{background-image:url("assets/ui/part-poly-roll-25-v1.png");background-size:cover;background-position:center}.part-poly50{background-image:url("assets/ui/part-poly-roll-50-v1.png");background-size:cover;background-position:center}.part-poly100{background-image:url("assets/ui/part-poly-roll-100-v1.png");background-size:cover;background-position:center}.part-polyFitting{background-image:url("assets/ui/part-poly-fitting-kit-v1.png");background-size:cover;background-position:center}.part-swingArm{background-image:url("assets/ui/part-swing-arm-v1.png");background-size:cover;background-position:center}.part-moistureSensor{background-image:url("assets/ui/part-moisture-sensor-v1.png");background-size:cover;background-position:center}.part-rainSensor{background-image:url("assets/ui/part-rain-sensor-v1.png");background-size:cover;background-position:center}.part-freezeSensor{background-image:url("assets/ui/part-freeze-sensor-v1.png");background-size:cover;background-position:center}.part-deicer{background-image:url("assets/ui/part-deicer-pallet-v1.png");background-size:cover;background-position:center}
.part-card:hover .part-sprite{transform:translateY(-2px) scale(1.04);border-color:var(--green);filter:drop-shadow(0 0 8px color-mix(in srgb,var(--accent-glow) 36%,transparent))}
.job-ticket.first-bookable{position:relative;border-color:var(--green);box-shadow:inset 5px 0 var(--green),0 0 0 1px color-mix(in srgb,var(--green) 70%,transparent),0 12px 26px #0005}.job-ticket.first-bookable::after{content:"NEXT BOOKABLE";position:absolute;right:14px;top:10px;color:var(--green);font:7px var(--pixel);letter-spacing:.06em}.job-ticket.first-bookable [data-job]:focus{outline:3px solid #eaff7d;outline-offset:3px;box-shadow:0 0 18px color-mix(in srgb,var(--green) 55%,transparent)}

/* Jobsite backgrounds now cover every visual family. */
.job-scene.scene-lawn{background-image:url("assets/jobs/residential-lawn.png")}.job-scene.scene-repair{background-image:url("assets/jobs/residential-repair.png")}.job-scene.scene-drip{background-image:url("assets/jobs/drip-garden.png")}.job-scene.scene-install{background-image:url("assets/jobs/system-install.png")}.job-scene.scene-commercial{background-image:url("assets/jobs/commercial-retrofit.png")}.job-scene.scene-idle{background-image:url("assets/jobs/residential-lawn.png");filter:saturate(.35) brightness(.52)}
.job-scene{overflow:hidden}.job-scene>*{box-sizing:border-box}.scene-hose,.scene-zones,.scene-coverage,.scene-trench,.scene-pipework,.scene-controller,.scene-tool,.scene-test-pulse{position:absolute;z-index:4;pointer-events:none}

/* The static art supplies the worker and hose. This stream begins at the pictured nozzle. */
.scene-hose{display:none;left:29%;bottom:39%;width:52%;height:105px}.coverage-hose .scene-hose{display:block}.scene-hose::before{content:"";position:absolute;left:-7px;top:-3px;width:16px;height:6px;background:#c6d1ca;border:2px solid #20342b;transform:rotate(-8deg);filter:drop-shadow(1px 2px #0008)}.scene-hose i{position:absolute;left:5px;top:0;width:min(34vw,300px);height:94px;border-top:4px dotted #d8fbff;border-radius:50%;transform:rotate(-7deg);transform-origin:left top;filter:drop-shadow(0 0 5px #69dfff);animation:hoseArc 2.4s ease-in-out infinite}.scene-hose i::after{content:"";position:absolute;right:-5px;top:-7px;width:7px;height:7px;background:#eaffff;box-shadow:-22px 8px #c8f7ff,-48px 17px #c8f7ff,-76px 25px #c8f7ff,-106px 25px #c8f7ff}.scene-hose.manual-burst i{border-top-width:6px;filter:drop-shadow(0 0 9px #9eeeff);animation-duration:.55s}

/* Multiple irrigation zones cycle in sequence on maintenance and tune-up jobs. */
.scene-zones{display:none;inset:0}.coverage-zones .scene-zones,.job-tuneup .scene-zones,.job-sod .scene-zones{display:block}.scene-zones i{position:absolute;bottom:21%;width:8px;height:12px;background:#c8d9d1;border:2px solid #1b3328;opacity:.28}.scene-zones i::after{content:"";position:absolute;right:2px;bottom:8px;width:105px;height:54px;border:4px dotted #d8fbff;border-bottom:0;border-radius:110px 110px 0 0;transform-origin:right bottom;filter:drop-shadow(0 0 5px #63dfff)}.scene-zones i:nth-child(1){left:28%;animation:zoneCycle 6s steps(1) infinite}.scene-zones i:nth-child(2){left:42%;animation:zoneCycle 6s 1s steps(1) infinite}.scene-zones i:nth-child(3){left:57%;animation:zoneCycle 6s 2s steps(1) infinite}.scene-zones i:nth-child(4){left:69%;animation:zoneCycle 6s 3s steps(1) infinite}.scene-zones i:nth-child(5){left:79%;animation:zoneCycle 6s 4s steps(1) infinite}.scene-zones i:nth-child(6){left:88%;animation:zoneCycle 6s 5s steps(1) infinite}.scene-zones i:nth-child(even)::after{right:auto;left:2px;transform-origin:left bottom}

/* Spray, rotor, drip, and bubbler coverage each use a distinct motion language. */
.scene-coverage{display:none;inset:0}.coverage-spray .scene-coverage,.coverage-rotor .scene-coverage,.coverage-drip .scene-coverage,.coverage-bubbler .scene-coverage,.phase-3.coverage-install .scene-coverage{display:block}.scene-coverage i{position:absolute}
.coverage-spray .scene-coverage i{bottom:22%;width:8px;height:11px;background:#e4ede8;border:2px solid #183226}.coverage-spray .scene-coverage i::after{content:"";position:absolute;right:2px;bottom:8px;width:95px;height:48px;border:3px dotted #c9f8ff;border-bottom:0;border-radius:100px 100px 0 0;animation:sprayPulse 1.4s steps(5) infinite}.coverage-spray .scene-coverage i:nth-child(1){left:38%}.coverage-spray .scene-coverage i:nth-child(2){left:58%;animation-delay:-.4s}.coverage-spray .scene-coverage i:nth-child(3){left:76%;animation-delay:-.8s}.coverage-spray .scene-coverage i:nth-child(4){left:88%;animation-delay:-1.2s}
.coverage-rotor .scene-coverage i,.phase-3.coverage-install .scene-coverage i{bottom:20%;width:9px;height:15px;background:#222f2b;border:2px solid #9db3a7}.coverage-rotor .scene-coverage i::after,.phase-3.coverage-install .scene-coverage i::after{content:"";position:absolute;left:3px;bottom:12px;width:150px;height:68px;border-top:4px dotted #d9fbff;border-radius:50%;transform-origin:left bottom;animation:rotorSweep 2.6s steps(9) infinite;filter:drop-shadow(0 0 5px #72ddff)}.coverage-rotor .scene-coverage i:nth-child(1),.phase-3.coverage-install .scene-coverage i:nth-child(1){left:29%}.coverage-rotor .scene-coverage i:nth-child(2),.phase-3.coverage-install .scene-coverage i:nth-child(2){left:58%;animation-delay:-.8s}.coverage-rotor .scene-coverage i:nth-child(3),.phase-3.coverage-install .scene-coverage i:nth-child(3){left:78%;animation-delay:-1.6s}.coverage-rotor .scene-coverage i:nth-child(4),.phase-3.coverage-install .scene-coverage i:nth-child(4){display:none}
.coverage-drip .scene-coverage i{left:25%;right:8%;height:5px;background:repeating-linear-gradient(90deg,#111 0 18px,#5da8c3 18px 22px);border-radius:4px}.coverage-drip .scene-coverage i:nth-child(1){bottom:23%}.coverage-drip .scene-coverage i:nth-child(2){bottom:30%;left:38%}.coverage-drip .scene-coverage i:nth-child(3){bottom:37%;left:51%}.coverage-drip .scene-coverage i:nth-child(4){bottom:44%;left:64%}.coverage-drip .scene-coverage i::after{content:"";position:absolute;left:19%;top:5px;width:6px;height:9px;background:#8eeaff;border-radius:50% 50% 60% 60%;box-shadow:52px 2px #8eeaff,104px 0 #8eeaff,156px 3px #8eeaff;animation:dripFall 1.15s steps(3) infinite}
.coverage-bubbler .scene-coverage i{bottom:22%;width:8px;height:9px;background:#1d3128}.coverage-bubbler .scene-coverage i:nth-child(1){left:39%}.coverage-bubbler .scene-coverage i:nth-child(2){left:52%}.coverage-bubbler .scene-coverage i:nth-child(3){left:66%}.coverage-bubbler .scene-coverage i:nth-child(4){left:78%}.coverage-bubbler .scene-coverage i::after{content:"";position:absolute;left:-9px;bottom:6px;width:24px;height:22px;border:4px dotted #a5efff;border-bottom:0;border-radius:50%;animation:bubblerPulse 1s steps(3) infinite}

/* Excavation, pipe, valves, heads, wiring, backfill, and final testing. */
.scene-trench{display:none;left:20%;right:6%;bottom:18%;height:28px;transform:skewX(-18deg)}.coverage-install .scene-trench,.coverage-pipe .scene-trench,.coverage-valve .scene-trench{display:block}.scene-trench::before{content:"";position:absolute;inset:7px 0 0;background:#3f2b1e;border:5px solid #8c5e37;box-shadow:inset 0 6px #241a13;clip-path:polygon(0 25%,100% 0,97% 78%,4% 100%)}.scene-trench i{position:absolute;z-index:2;left:0;top:0;height:100%;width:var(--progress);background:repeating-linear-gradient(90deg,#bd7b43 0 18px,#865129 18px 35px);clip-path:polygon(0 30%,100% 0,96% 70%,4% 100%);transition:width .35s}.phase-3 .scene-trench i{background:repeating-linear-gradient(90deg,#806039 0 20px,#967148 20px 40px);animation:backfillSweep 1.3s steps(7) infinite}
.scene-pipework{display:none;left:22%;right:8%;bottom:19%;height:36px}.coverage-install.phase-1 .scene-pipework,.coverage-install.phase-2 .scene-pipework,.coverage-install.phase-3 .scene-pipework,.coverage-pipe.phase-2 .scene-pipework,.coverage-pipe.phase-3 .scene-pipework,.coverage-valve.phase-2 .scene-pipework,.coverage-valve.phase-3 .scene-pipework{display:block}.scene-pipework::before{content:"";position:absolute;left:0;top:17px;width:clamp(8%,var(--progress),100%);height:8px;background:#e6ebdd;border:2px solid #68786f;box-shadow:0 4px 0 #203d61;transition:width .4s}.scene-pipework i{position:absolute;top:7px;width:15px;height:23px;background:#e8eee7;border:3px solid #334940}.scene-pipework i:nth-child(1){left:19%}.scene-pipework i:nth-child(2){left:42%}.scene-pipework i:nth-child(3){left:66%}.scene-pipework i:nth-child(4){left:88%}.coverage-valve .scene-pipework i:nth-child(2){width:30px;height:28px;top:3px;background:#438547;border-radius:45%}.coverage-pipe .scene-pipework::after{content:"";position:absolute;left:48%;top:12px;width:43px;height:17px;border:5px solid #fff;border-left:0;border-right:0;animation:repairClamp .8s steps(2) infinite}

/* Controller, smart controller, pump, and diagnostic screwdriver/programming indicator. */
.scene-controller{display:none;right:13%;top:26%;width:78px;height:98px;background:#e4e9e3;border:5px solid #263a31;box-shadow:6px 7px 0 #07100cb5}.coverage-controller .scene-controller,.coverage-install.phase-2 .scene-controller,.coverage-install.phase-3 .scene-controller,.coverage-pump .scene-controller{display:block}.scene-controller i{position:absolute;left:12px;right:12px;top:13px;height:27px;background:#183c32;border:3px solid #72877c;box-shadow:inset 0 0 0 4px #295b48}.scene-controller i::after{content:"";position:absolute;inset:6px;background:repeating-linear-gradient(90deg,var(--green) 0 4px,transparent 4px 8px);animation:programScan 1.2s steps(4) infinite}.scene-controller b{position:absolute;left:13px;bottom:15px;width:12px;height:12px;border-radius:50%;background:var(--gold);box-shadow:21px 0 #688878,42px 0 #688878}.scene-controller span{position:absolute;left:26px;top:44px;width:3px;height:40px;background:#f2c24c;box-shadow:6px 0 #ef665b,12px 0 #68a8ef,18px 0 #e8e8e8}.scene-tool{display:none;right:19%;top:33%;width:10px;height:76px;background:#efb43e;border:2px solid #452f15;border-radius:3px;transform-origin:50% 92%;animation:screwdriverTurn .7s steps(4) infinite}.scene-tool::before{content:"";position:absolute;left:1px;top:-23px;width:4px;height:25px;background:#dce8e3}.scene-tool::after{content:"";position:absolute;left:-6px;bottom:-9px;width:18px;height:12px;background:#d75b3f}.coverage-controller.phase-0 .scene-tool,.coverage-controller.phase-1 .scene-tool,.job-tuneup.phase-1 .scene-tool,.coverage-pump.phase-1 .scene-tool,.coverage-pump.phase-2 .scene-tool{display:block}
.coverage-pump .scene-controller{width:92px;height:58px;right:12%;top:auto;bottom:21%;border-radius:45% 10% 10% 45%;background:#2877ba}.coverage-pump .scene-controller i{left:18px;top:15px;width:34px;height:18px;border-radius:50%;background:#18364c}.coverage-pump .scene-controller b{left:58px;bottom:17px;background:#80dcff;box-shadow:none}.coverage-pump .scene-controller span{display:none}
.scene-test-pulse{display:none;inset:0;background:radial-gradient(circle at 65% 62%,color-mix(in srgb,var(--green) 18%,transparent),transparent 34%);mix-blend-mode:screen;animation:testPulse 1.4s ease-in-out infinite}.phase-3 .scene-test-pulse{display:block}

/* Anchored jobsite effects: animate details in the artwork, never replacement objects. */
.job-scene{overflow:hidden;background-repeat:no-repeat}.job-scene>*{box-sizing:border-box}.scene-effects,.scene-test-pulse{position:absolute;inset:0;z-index:4;pointer-events:none}.scene-effects>div{position:absolute;inset:0}.scene-effects i{position:absolute;display:block}.scene-effects i[hidden]{display:none!important}
.fx-stream{display:none;left:var(--focus-x)!important;top:var(--focus-y)!important;right:auto!important;bottom:auto!important;width:min(var(--stream-length),42vw);height:90px;z-index:8;overflow:visible;mix-blend-mode:screen;transform:translateY(-46px) rotate(var(--stream-angle));transform-origin:2px 46px}.effect-hose .fx-stream,.effect-pour .fx-stream{display:block}.fx-stream svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 5px #69dfff)}.fx-stream path{fill:none;stroke:#e8fdff;stroke-width:3.5;stroke-linecap:round;stroke-dasharray:4 8;vector-effect:non-scaling-stroke;animation:streamFlow .72s linear infinite}.effect-pour .fx-stream{width:min(var(--stream-length),25vw);height:58px;transform:translateY(-30px) rotate(var(--stream-angle));transform-origin:2px 30px}.effect-pour .fx-stream path{stroke-width:3;animation-duration:.52s}.fx-stream.manual-burst path{stroke-width:6;filter:drop-shadow(0 0 8px #95ecff)}
.fx-heads{display:none}.effect-spray .fx-heads,.effect-zones .fx-heads,.effect-rotor .fx-heads,.effect-soaker .fx-heads,.effect-drip .fx-heads,.effect-adjust.phase-3 .fx-heads,.effect-install.phase-3 .fx-heads,.effect-park.phase-3 .fx-heads,.effect-commercial.phase-3 .fx-heads,.effect-government.phase-3 .fx-heads{display:block}.fx-heads i{width:7px;height:7px;border-radius:50%;background:#b7eaff;transform:translate(-50%,-50%);filter:drop-shadow(0 0 5px #62dfff)}
.effect-spray .fx-heads i::after,.effect-zones .fx-heads i::after,.effect-adjust .fx-heads i::after{content:"";position:absolute;left:2px;bottom:3px;width:78px;height:38px;border-top:3px dotted #d9f9ff;border-radius:50%;transform-origin:left bottom;animation:anchoredSpray 1.5s steps(6) infinite}.effect-zones .fx-heads i{opacity:.16;animation:anchoredZone 6s steps(1) infinite}.effect-zones .fx-heads i:nth-child(2){animation-delay:-1s}.effect-zones .fx-heads i:nth-child(3){animation-delay:-2s}.effect-zones .fx-heads i:nth-child(4){animation-delay:-3s}.effect-zones .fx-heads i:nth-child(5){animation-delay:-4s}.effect-zones .fx-heads i:nth-child(6){animation-delay:-5s}
#jobScene:is(.effect-spray,.effect-zones,.effect-rotor,.effect-adjust) .fx-heads i{background:transparent;filter:none}
.effect-rotor .fx-heads i::after,.effect-install .fx-heads i::after,.effect-park .fx-heads i::after,.effect-commercial .fx-heads i::after,.effect-government .fx-heads i::after{content:"";position:absolute;left:2px;bottom:3px;width:118px;height:48px;border-top:3px dotted #d9f9ff;border-radius:50%;transform-origin:left bottom;animation:anchoredRotor 2.8s steps(10) infinite}.fx-heads i:nth-child(even)::after{animation-delay:-1.1s}
.effect-soaker .fx-heads i,.effect-drip .fx-heads i{width:9px;height:9px;background:#75dfff;border-radius:55% 45% 60% 40%;animation:anchoredDrip 1.25s steps(3) infinite}.effect-soaker .fx-heads i::after,.effect-drip .fx-heads i::after{content:"";position:absolute;inset:-10px;border:2px solid #71dbff88;border-radius:50%;animation:rootSoak 1.8s ease-out infinite}
.fx-focus{display:none}.effect-pour .fx-focus,.effect-adjust .fx-focus,.effect-valve .fx-focus,.effect-leak .fx-focus,.effect-controller .fx-focus,.effect-pump .fx-focus,.effect-install .fx-focus,.effect-park .fx-focus,.effect-commercial .fx-focus,.effect-government .fx-focus{display:block}.fx-focus i{width:12px;height:12px;border:2px solid #d8f8ff;border-radius:50%;transform:translate(-50%,-50%);filter:drop-shadow(0 0 5px #62ddff);animation:focusPulse 1.4s ease-in-out infinite}.fx-focus i:nth-child(2){animation-delay:-.45s}.fx-focus i:nth-child(3){animation-delay:-.9s}
.effect-pour .fx-focus i:first-child{display:none}.effect-pour .fx-focus i:nth-child(2){width:30px;height:12px;border:0;border-bottom:3px solid #72dbff99;border-radius:50%;animation:wetSoil 1.5s ease-in-out infinite}.effect-adjust .fx-focus i:first-child{width:22px;height:22px;border-color:#ffe28a;animation:toolGlint .8s steps(4) infinite}.effect-adjust:not(.phase-1):not(.phase-2) .fx-focus{display:none}
.effect-valve .fx-focus i,.effect-leak .fx-focus i{width:34px;height:20px;border-color:#75ddff99}.effect-valve.phase-0 .fx-focus i,.effect-leak.phase-0 .fx-focus i{animation:diagnosticSweep 1.6s ease-in-out infinite}.effect-leak .fx-focus i:first-child::after{content:"";position:absolute;left:11px;top:-12px;width:7px;height:10px;background:#85e5ff;border-radius:50% 50% 65% 35%;animation:leakDrop .9s steps(3) infinite}.effect-leak.phase-2 .fx-focus i:first-child{border-color:#ffe38a;animation:repairFlash .75s steps(2) infinite}
.effect-controller .fx-focus i{width:7px;height:7px;border:0;background:var(--green);box-shadow:10px 0 #68d8ff,20px 0 #f0c864;animation:controllerLED 1.2s steps(3) infinite}.effect-controller .fx-focus i:nth-child(2){width:24px;height:3px;border-radius:0;background:linear-gradient(90deg,#ffca55,#ff6d62,#66b7ff,#f4f4e9);box-shadow:none;animation:wireScan 1s steps(4) infinite}.effect-controller .fx-focus i:nth-child(3){width:20px;height:20px;background:transparent;border:2px solid #ffe18a;box-shadow:none;animation:toolGlint .7s steps(4) infinite}
.effect-pump .fx-focus i:first-child{width:30px;height:30px;border:4px dashed #a9e9ff;animation:pumpCoupling 1.1s linear infinite}.effect-pump .fx-focus i:nth-child(2){width:24px;height:24px;border-color:#ffe18a;animation:gaugeNeedle 1.5s ease-in-out infinite}.effect-pump .fx-focus i:nth-child(3){width:8px;height:8px;border:0;background:#ffbd4f;box-shadow:10px 0 #7ce5ff;animation:controllerLED 1s steps(2) infinite}
.effect-install .fx-focus i,.effect-park .fx-focus i{width:30px;height:18px;border:0;background:radial-gradient(ellipse,#c8945f99,transparent 70%);filter:none;animation:dustPuff 1.5s ease-out infinite}.effect-install.phase-2 .fx-focus i,.effect-park.phase-2 .fx-focus i{background:transparent;border:2px solid #72ddff99;filter:drop-shadow(0 0 5px #62dfff);animation:wireScan 1.2s steps(4) infinite}.effect-install.phase-3 .fx-focus,.effect-park.phase-3 .fx-focus{display:none}
.effect-commercial .fx-focus i,.effect-government .fx-focus i{width:26px;height:26px;border-color:#72ddffaa;animation:diagnosticSweep 1.5s ease-in-out infinite}.effect-commercial.phase-1 .fx-focus i:nth-child(2),.effect-government.phase-2 .fx-focus i{border-style:dashed;animation:pumpCoupling 1.8s linear infinite}
.fx-particles{display:none}.effect-install.phase-0 .fx-particles,.effect-install.phase-1 .fx-particles,.effect-park.phase-1 .fx-particles,.effect-controller.phase-1 .fx-particles,.effect-pump.phase-2 .fx-particles{display:block}.fx-particles i{left:var(--focus-x);top:var(--focus-y);width:5px;height:5px;border-radius:50%;background:#d3a16d;animation:anchoredParticle 1.4s ease-out infinite}.fx-particles i:nth-child(2){margin-left:15px;animation-delay:-.25s}.fx-particles i:nth-child(3){margin-left:-13px;animation-delay:-.5s}.fx-particles i:nth-child(4){margin-left:27px;animation-delay:-.75s}.fx-particles i:nth-child(5){margin-left:-24px;animation-delay:-1s}.fx-particles i:nth-child(6){margin-left:8px;animation-delay:-1.2s}.effect-controller .fx-particles i,.effect-pump .fx-particles i{background:#ffd66b;box-shadow:0 0 5px #ffb84b}
.effect-snow .fx-focus,.effect-ice .fx-focus,.effect-plow .fx-focus{display:block}.effect-snow .fx-focus i,.effect-plow .fx-focus i{width:42px;height:16px;border:0;border-radius:50%;background:radial-gradient(ellipse,#f3fbffb8 0 18%,#c9e9fa55 35%,transparent 72%);filter:drop-shadow(0 0 6px #d9f4ff);animation:snowSurfacePulse 1.25s steps(4) infinite}.effect-ice .fx-focus i{width:28px;height:28px;border:0;background:conic-gradient(from 45deg,transparent 0 20%,#e8fbff 21% 25%,transparent 26% 45%,#a9e5ff 46% 50%,transparent 51%);filter:drop-shadow(0 0 5px #c4efff);animation:iceGlint 1.45s steps(6) infinite}.effect-snow .fx-particles,.effect-ice .fx-particles,.effect-plow .fx-particles{display:block}.effect-snow .fx-particles i,.effect-plow .fx-particles i{width:6px;height:6px;background:#edfaff;border-radius:50%;box-shadow:0 0 5px #bde8ff;animation:snowBurst 1.25s ease-out infinite}.effect-plow .fx-particles i{width:10px;height:7px;animation:plowSpray 1.05s ease-out infinite}.effect-ice .fx-particles i{width:5px;height:3px;border-radius:1px;background:#dff7ff;box-shadow:0 0 3px #fff;animation:saltScatter 1.1s ease-out infinite}.effect-snow.phase-0 .fx-particles,.effect-plow.phase-0 .fx-particles,.effect-ice.phase-0 .fx-particles{opacity:.38}.cat-snow .scene-vignette{background:linear-gradient(180deg,#a9dbff12,#05141d6b),radial-gradient(circle at 50% 44%,transparent 40%,#02080bc9 100%)}.cat-snow .job-progress>i{background:linear-gradient(90deg,#7cc8ee,#dff8ff);box-shadow:0 0 12px #88d9ff88}
.scene-test-pulse{background:radial-gradient(circle at var(--focus-x) var(--focus-y),color-mix(in srgb,var(--green) 15%,transparent),transparent 22%);animation-duration:1.6s}
.effect-hose.phase-3 .fx-stream,.effect-pour:not(.phase-1) .fx-stream{display:none}.effect-spray.phase-0 .fx-heads,.effect-zones.phase-0 .fx-heads,.effect-rotor.phase-0 .fx-heads,.effect-rotor.phase-1 .fx-heads,.effect-soaker.phase-0 .fx-heads,.effect-soaker.phase-3 .fx-heads,.effect-drip:not(.phase-3) .fx-heads{display:none}
.effect-install.phase-2 .fx-focus,.effect-park.phase-2 .fx-focus{display:none}.effect-install.phase-2 .fx-heads,.effect-park.phase-2 .fx-heads{display:block}.effect-install.phase-2 .fx-heads i,.effect-park.phase-2 .fx-heads i{width:24px;height:24px;background:transparent;border:2px solid #72ddff99;animation:wireScan 1.2s steps(4) infinite}.effect-install.phase-2 .fx-heads i::after,.effect-park.phase-2 .fx-heads i::after{content:none}
.phase-3 .scene-test-pulse{display:none}.effect-adjust.phase-3 .scene-test-pulse,.effect-valve.phase-3 .scene-test-pulse,.effect-leak.phase-3 .scene-test-pulse,.effect-controller.phase-3 .scene-test-pulse,.effect-rotor.phase-3 .scene-test-pulse,.effect-drip.phase-3 .scene-test-pulse,.effect-install.phase-3 .scene-test-pulse,.effect-pump.phase-3 .scene-test-pulse,.effect-park.phase-3 .scene-test-pulse,.effect-commercial.phase-3 .scene-test-pulse,.effect-government.phase-3 .scene-test-pulse{display:block}

/* Company settings */
.theme-trigger{border-color:color-mix(in srgb,var(--green) 55%,#385447);color:var(--green)}.theme-modal{position:fixed;inset:0;z-index:148;background:#030a08e8;display:grid;place-items:center;padding:22px;backdrop-filter:blur(8px)}.theme-modal[hidden]{display:none}.theme-shell{width:min(860px,100%);max-height:94vh;overflow:auto;background:#101f19;border:2px solid color-mix(in srgb,var(--green) 48%,#415c4d);box-shadow:12px 12px 0 #020604,0 25px 100px #000b}.theme-shell>header{display:flex;justify-content:space-between;align-items:start;padding:24px 28px;background:#172a21;border-bottom:1px solid #415c4d}.theme-shell h2{font-size:29px;margin:0}.theme-shell header p:last-child{font-size:12px;color:#a8b9b0;margin:5px 0 0}.theme-shell header button{width:42px;height:42px;border:1px solid #5e776a;background:#102019;color:#edf6f1;font-size:25px;cursor:pointer}.theme-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:24px}.theme-options button{display:grid;grid-template-columns:56px 1fr;gap:13px;align-items:center;text-align:left;padding:13px;border:1px solid #3c594a;background:#0d1a15;color:#e9f1ed;cursor:pointer}.theme-options button:hover,.theme-options button.active{border-color:var(--swatch);box-shadow:inset 0 -3px var(--swatch)}.theme-options i{width:52px;height:38px;background:linear-gradient(135deg,var(--swatch) 0 50%,var(--swatch-two) 50%);clip-path:polygon(15% 0,100% 0,85% 100%,0 100%)}.theme-options b,.theme-options small{display:block}.theme-options b{font-size:13px}.theme-options small{margin-top:4px;color:#84998e;font:8px DM Mono}
.settings-tabs{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;padding:0;background:#415c4d;border-bottom:1px solid #415c4d}.settings-tabs button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;border:0;background:#0b1813;color:#687f73;font:700 9px DM Mono;letter-spacing:.08em;cursor:pointer}.settings-tabs button b{color:#a5b7ae;font:800 10px Archivo Black}.settings-tabs button:hover{background:#14261e;color:var(--mint)}.settings-tabs button.active{background:color-mix(in srgb,var(--green) 13%,#112019);color:var(--green);box-shadow:inset 0 -4px var(--green)}.settings-tabs button.active b{color:#f1f8f4}.settings-tabs button:focus-visible{outline:2px solid var(--mint);outline-offset:-4px}.settings-panel{min-height:390px;padding:24px 26px;background:linear-gradient(135deg,#0d1b15,#08110d)}.settings-panel[hidden]{display:none}.settings-section-head{margin-bottom:17px;padding-bottom:14px;border-bottom:1px solid #2e493b}.settings-section-head>span{color:var(--mint);font:700 8px DM Mono;letter-spacing:.12em}.settings-section-head h3{margin:4px 0 5px;font-size:21px}.settings-section-head p{max-width:680px;margin:0;color:#91a59a;font-size:11px}.settings-panel .theme-options{padding:0}.settings-panel .company-settings{padding:20px;border:1px solid #385447}.settings-panel .music-player{margin:0}

@keyframes hoseArc{0%,100%{transform:rotate(-16deg) scaleX(.82)}50%{transform:rotate(10deg) scaleX(1)}}@keyframes zoneCycle{0%,15%{opacity:1;filter:drop-shadow(0 0 7px #8feeff)}16%,100%{opacity:.2}}@keyframes sprayPulse{50%{transform:scaleX(.62);opacity:.55}}@keyframes rotorSweep{0%{transform:rotate(-28deg) scaleX(.45)}50%{transform:rotate(24deg) scaleX(1)}100%{transform:rotate(-28deg) scaleX(.45)}}@keyframes dripFall{50%{transform:translateY(8px);opacity:.35}}@keyframes bubblerPulse{50%{transform:scale(.7);opacity:.55}}@keyframes backfillSweep{50%{filter:brightness(1.25);transform:translateX(4px)}}@keyframes repairClamp{50%{filter:brightness(1.45)}}@keyframes programScan{to{transform:translateX(8px)}}@keyframes screwdriverTurn{0%,100%{transform:rotate(-16deg)}50%{transform:rotate(18deg)}}@keyframes testPulse{50%{opacity:.35}}
@keyframes streamFlow{to{stroke-dashoffset:-24}}@keyframes anchoredSpray{0%,100%{transform:rotate(-8deg) scaleX(.72);opacity:.45}50%{transform:rotate(6deg) scaleX(1);opacity:.95}}@keyframes anchoredRotor{0%{transform:rotate(-28deg) scaleX(.55)}50%{transform:rotate(28deg) scaleX(1)}100%{transform:rotate(-28deg) scaleX(.55)}}@keyframes anchoredZone{0%,16%{opacity:1;filter:drop-shadow(0 0 7px #8feeff)}17%,100%{opacity:.12}}@keyframes anchoredDrip{50%{transform:translate(-50%,2px) scale(.75);opacity:.4}}@keyframes rootSoak{0%{transform:scale(.4);opacity:.8}100%{transform:scale(1.3);opacity:0}}@keyframes focusPulse{50%{transform:translate(-50%,-50%) scale(1.3);opacity:.45}}@keyframes wetSoil{50%{transform:translate(-50%,-50%) scaleX(1.25);opacity:.45}}@keyframes toolGlint{50%{transform:translate(-50%,-50%) rotate(30deg) scale(.65);opacity:.35}}@keyframes diagnosticSweep{50%{transform:translate(-50%,-50%) scale(1.25);border-color:#ffe178;opacity:.5}}@keyframes leakDrop{50%{transform:translateY(8px);opacity:.35}}@keyframes repairFlash{50%{filter:drop-shadow(0 0 9px #ffe178);transform:translate(-50%,-50%) scale(.8)}}@keyframes controllerLED{50%{filter:brightness(1.8);transform:translate(-50%,-50%) translateX(4px)}}@keyframes wireScan{50%{filter:brightness(1.7);transform:translate(-50%,-50%) scaleX(.7)}}@keyframes pumpCoupling{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes gaugeNeedle{50%{transform:translate(-50%,-50%) rotate(25deg);border-color:#ff876e}}@keyframes dustPuff{0%{transform:translate(-50%,-20%) scale(.35);opacity:.8}100%{transform:translate(-50%,-110%) scale(1.35);opacity:0}}@keyframes anchoredParticle{0%{transform:translate(0,0) scale(.5);opacity:.9}100%{transform:translate(12px,-28px) scale(1.3);opacity:0}}@keyframes snowSurfacePulse{50%{transform:translate(-50%,-50%) scaleX(1.35);opacity:.45}}@keyframes iceGlint{50%{transform:translate(-50%,-50%) rotate(90deg) scale(.7);opacity:.4}}@keyframes snowBurst{0%{transform:translate(0,0) scale(.45);opacity:.9}100%{transform:translate(30px,-34px) scale(1.35);opacity:0}}@keyframes plowSpray{0%{transform:translate(0,0) rotate(0);opacity:.95}100%{transform:translate(54px,-30px) rotate(110deg);opacity:0}}@keyframes saltScatter{0%{transform:translate(0,0) rotate(0);opacity:.9}100%{transform:translate(34px,18px) rotate(130deg);opacity:0}}

/* Exact breakpoint polish for the tracked 320/390/768/1024/1440 widths. */
@media(max-width:1024px){.masthead{padding-inline:16px}.hero{grid-template-columns:1fr 1fr}.season-card{grid-column:1/-1}.dashboard{grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr)}.scene-hose{left:27%}}
@media(max-width:900px){.masthead{height:116px;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:48px 40px;padding:9px 14px;gap:6px}.brand{grid-column:1/-1;grid-row:1;margin:0;min-width:max-content}.top-finance{position:absolute;right:14px;top:12px}.masthead>.icon-button{grid-row:2;min-width:0;padding-inline:4px}.hero>*{min-width:0}.ticker p{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stage-road{max-width:100%;overflow-x:auto}}
@media(max-width:768px){.hero{grid-template-columns:1fr}.pixel-yard,.season-card{grid-column:auto;width:100%}.dashboard{grid-template-columns:1fr}.side-column{display:grid;grid-template-columns:1fr 1fr;align-items:start}.side-column .log-panel{grid-column:1/-1}.job-scene{height:245px}.theme-options{grid-template-columns:1fr}.parts-grid{grid-template-columns:1fr 1fr}.part-card>span.part-sprite{width:48px;height:48px}}
@media(max-width:520px){html,body{max-width:100%;overflow-x:hidden}.masthead{height:150px;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:42px 38px 38px;padding:8px 6px;gap:4px;overflow:visible}.masthead #viewButton{display:none}#themeButton{grid-column:1;grid-row:2}#feedbackButton{grid-column:2;grid-row:2}#cloudButton{grid-column:3;grid-row:2}#debugButton{grid-column:4;grid-row:2}#helpButton{grid-column:1/3;grid-row:3}#gamesButton{grid-column:3;grid-row:3}#saveButton{grid-column:4;grid-row:3}.brand{grid-column:1/-1;grid-row:1;min-width:112px;gap:7px}.brand-mark{width:21px;height:28px;border-width:2px}.brand strong{font-size:11px}.brand small{display:none}.masthead .icon-button{width:100%;min-width:0;max-width:100%;overflow:hidden;font-size:7px;padding:7px 1px;white-space:nowrap}.top-finance{right:7px;top:9px;background:transparent;border:0;padding:0}.top-finance .cash-primary span{font-size:6px}.top-finance .cash-primary strong{font-size:13px}.hero{padding-top:34px}.side-column{display:flex}.job-scene{height:205px}.scene-hose{left:26%;bottom:40%;width:64%}.scene-rig{transform:scale(.8);transform-origin:left bottom}.scene-topline{left:8px;right:8px}.theme-modal{padding:8px}.theme-shell>header{padding:18px}.theme-options{padding:14px}.resource-grid{grid-template-columns:1fr;gap:16px}.resource-grid>div{padding:0;border:0}.ticker{grid-template-columns:auto minmax(0,1fr);gap:8px}.ticker p{font-size:8px}.part-card{grid-template-columns:46px 1fr auto}.part-card>span.part-sprite{width:44px;height:44px}.scene-controller{right:7%;transform:scale(.8);transform-origin:right center}.scene-tool{right:18%;transform-origin:bottom}.coverage-rotor .scene-coverage i::after,.phase-3.coverage-install .scene-coverage i::after{width:100px}}
@media(max-width:360px){main{width:95vw}.panel{padding:15px}.job-scene{height:185px}.job-slot-tabs{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.parts-grid{grid-template-columns:1fr}.part-card>span.part-sprite{width:52px;height:52px}.theme-options button{grid-template-columns:46px 1fr}.theme-options i{width:43px}.scene-comparison{display:none}.scene-topline span{max-width:54%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.job-scene *,.pixel-yard *,.water-button::after{animation:none!important;transition:none!important}}

/* In-game animation anchor calibration */
#debugNav{grid-template-columns:repeat(7,1fr)}
#debugNav,#debugContent,.debug-shell,.anchor-editor,.anchor-editor>*,.animation-debug,.animation-debug>*{min-width:0;max-width:100%}.debug-shell{overflow:hidden}
#debugContent:has(.anchor-editor),#debugContent:has(.animation-debug){padding:18px}
.anchor-editor{display:flex;flex-direction:column;gap:16px}
.anchor-editor-head{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(520px,1.2fr);gap:20px;align-items:end}
.anchor-editor-head h3{font-size:23px;margin:0 0 6px}.anchor-editor-head>div>p:last-child{max-width:590px;margin:0;color:var(--muted);font-size:11px}
.anchor-editor-selects{display:grid;grid-template-columns:1fr 1fr;gap:10px}.anchor-editor-selects label{display:flex;flex-direction:column;gap:6px;color:#8fa298;font:700 9px DM Mono}.anchor-editor-selects label:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center}.anchor-editor-selects select{width:100%;min-width:0;border:1px solid #587263;background:#0b1712;color:#eef7f2;padding:9px 10px;font:700 10px DM Mono}.anchor-editor-selects input{grid-column:1/-1;width:100%;accent-color:var(--green)}
.anchor-editor-stage{padding:10px;background:#08120e;border:1px solid #385447}
.anchor-editor-scene{width:100%;height:auto;min-height:280px;aspect-ratio:16/5;margin:0;overflow:hidden;cursor:crosshair}
.anchor-editor-scene .scene-effects{z-index:5}.anchor-grid{position:absolute!important;inset:0;z-index:22!important;pointer-events:none;background-image:linear-gradient(#b9ffe20d 1px,transparent 1px),linear-gradient(90deg,#b9ffe20d 1px,transparent 1px),linear-gradient(#b9ffe228 1px,transparent 1px),linear-gradient(90deg,#b9ffe228 1px,transparent 1px);background-size:5% 5%,5% 5%,25% 25%,25% 25%}
.anchor-handles{position:absolute!important;inset:0;z-index:30!important;pointer-events:none}.anchor-handles button{position:absolute;pointer-events:auto;width:34px;height:34px;transform:translate(-50%,-50%);border:2px solid #f2ce62;border-radius:50%;background:#15251fe8;color:#fff;box-shadow:0 0 0 3px #07100ca8,0 0 16px #f2ce6266;cursor:grab;touch-action:none;padding:0;font:800 9px DM Mono}.anchor-handles button:active{cursor:grabbing}.anchor-handles button[data-anchor-kind="heads"]{border-color:#68d9ff;box-shadow:0 0 0 3px #07100ca8,0 0 16px #68d9ff77}.anchor-handles button.stream-handle{width:42px;height:42px;border-color:#ef8dff;box-shadow:0 0 0 3px #07100ca8,0 0 18px #ef8dff88}.anchor-handles button.selected{background:#f4f8f5;color:#07100c;transform:translate(-50%,-50%) scale(1.14)}.anchor-handles button i{font-style:normal;pointer-events:none}
.anchor-editor-label{position:absolute;left:12px;right:12px;bottom:10px;z-index:24;display:flex;justify-content:space-between;pointer-events:none;color:#dceae2;font:700 9px DM Mono;text-shadow:0 2px 3px #000}.anchor-editor-label span{color:var(--green)}
.anchor-workbench{display:grid;grid-template-columns:minmax(320px,.75fr) minmax(420px,1.25fr);gap:14px}.anchor-workbench>div{border:1px solid #385447;background:#0b1712;padding:14px}
.anchor-legend{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:12px;color:#9bada3;font:700 9px DM Mono}.anchor-legend span{display:flex;align-items:center;gap:6px}.anchor-legend i{width:10px;height:10px;border:2px solid #f2ce62;border-radius:50%}.anchor-legend i.head{border-color:#68d9ff}.anchor-legend i.stream{border-color:#ef8dff}
.anchor-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.anchor-actions button,.anchor-code-panel button{border:1px solid #587263;background:#182d23;color:var(--green);padding:9px;font:700 9px DM Mono;cursor:pointer}.anchor-actions button:disabled{opacity:.35}.anchor-actions .danger{color:#ff927e;border-color:#70463d}.anchor-readout{display:flex;justify-content:space-between;gap:12px;margin-top:12px;padding:10px;border:1px solid #30483c;color:#9eb0a6;font:10px DM Mono}.anchor-readout b{color:#f2ce62}
.anchor-code-panel{min-width:0}.anchor-code-panel header{display:grid;grid-template-columns:1fr auto auto;gap:7px;align-items:center;margin-bottom:9px}.anchor-code-panel header div{min-width:0}.anchor-code-panel header b,.anchor-code-panel header span{display:block;font:700 9px DM Mono}.anchor-code-panel header span{margin-top:3px;color:#72877c;font-size:8px}.anchor-code-panel textarea{display:block;width:100%;min-height:118px;resize:vertical;border:1px solid #30483c;background:#07100c;color:#b9f6d5;padding:11px;font:10px/1.55 DM Mono}

/* All-animation debug lab */
.animation-debug{display:flex;flex-direction:column;gap:14px}
.animation-debug-head{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:4px 5px 0}.animation-debug-head h3{font-size:23px;margin:0 0 6px}.animation-debug-head>div:first-child>p:last-child{max-width:680px;margin:0;color:var(--muted);font-size:11px}.animation-debug-summary{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.animation-debug-summary>*{border:1px solid #3d5b4c;background:#0a1511;color:#8ea298;padding:7px 9px;font:700 8px DM Mono}.animation-debug-summary b{border-color:#78944d;color:var(--green)}
.animation-phase-toolbar{position:sticky;top:-18px;z-index:55;display:grid;grid-template-columns:auto repeat(4,minmax(92px,1fr)) auto minmax(180px,1.4fr);align-items:stretch;gap:1px;border:1px solid #405e4e;background:#405e4e;box-shadow:0 8px 18px #020604aa}.animation-phase-toolbar>span{display:grid;place-items:center;background:#0a1511;color:#869a90;padding:10px;font:700 8px DM Mono}.animation-phase-toolbar button{display:flex;align-items:center;justify-content:center;gap:8px;border:0;background:#14251d;color:#92a59b;padding:8px;cursor:pointer}.animation-phase-toolbar button b{font:800 16px Archivo Black}.animation-phase-toolbar button small{font:700 7px DM Mono}.animation-phase-toolbar button.active{background:var(--gold);color:#241f0e}.animation-phase-toolbar p{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin:0;padding:8px 10px;background:#0a1511;color:#92a59b;font:700 7px DM Mono}.animation-phase-toolbar p i{width:9px;height:9px;margin-left:5px;border:2px solid #f2ce62;border-radius:50%}.animation-phase-toolbar p i.head{border-color:#68d9ff}.animation-phase-toolbar p i.stream{border-color:#ef8dff}
.animation-debug-grid{display:grid;grid-template-columns:1fr;gap:14px}.animation-debug-card{min-width:0;border:1px solid #3a5848;background:#09140f;box-shadow:4px 4px 0 #020604}.animation-debug-card>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border-bottom:1px solid #344e41;background:#112219}.animation-debug-card>header div{min-width:0}.animation-debug-card>header span,.animation-debug-card>header b{display:block}.animation-debug-card>header span{margin-bottom:3px;color:#7f968a;font:700 7px DM Mono}.animation-debug-card>header b{overflow:hidden;color:#eaf4ef;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.animation-debug-card>header button{flex:none;border:1px solid #537060;background:#172d23;color:var(--green);padding:7px 9px;font:800 8px DM Mono;cursor:pointer}.animation-debug-card>header button:hover{border-color:var(--green);background:#234132}.animation-debug-scene{width:100%;height:285px;min-height:285px;aspect-ratio:auto;margin:0;overflow:hidden;cursor:crosshair;border:0}.animation-debug-scene .scene-effects{z-index:4}.animation-debug-scene .anchor-grid{opacity:.72}.animation-debug-scene .anchor-grid,.animation-debug-scene .anchor-handles{transition:opacity .18s ease}.animation-debug.markers-hover .animation-debug-scene:not(:hover):not(:focus-within) .anchor-grid,.animation-debug.markers-hover .animation-debug-scene:not(:hover):not(:focus-within) .anchor-handles{opacity:0}.animation-debug-scene .anchor-handles button{width:27px;height:27px;font-size:7px;box-shadow:0 0 0 2px #07100ca8,0 0 10px #f2ce6266}.animation-debug-scene .anchor-handles button[data-anchor-kind="heads"]{box-shadow:0 0 0 2px #07100ca8,0 0 10px #68d9ff77}.animation-debug-scene .anchor-handles button.stream-handle{width:35px;height:35px;font-size:6px;box-shadow:0 0 0 2px #07100ca8,0 0 12px #ef8dff88}.animation-debug-card>footer{display:flex;justify-content:space-between;gap:10px;padding:8px 11px;border-top:1px solid #344e41;color:#789084;font:700 7px DM Mono}.animation-debug-card>footer span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.animation-debug-card>footer b{flex:none;color:#9fb2a8}
@media(max-width:800px){#debugNav{grid-template-columns:repeat(7,110px)}.anchor-editor-head,.anchor-workbench{grid-template-columns:1fr}.anchor-editor-selects{grid-template-columns:1fr}.anchor-editor-selects label:last-child{grid-column:auto}.anchor-editor-scene{min-height:230px;aspect-ratio:2/1}.anchor-code-panel header{grid-template-columns:1fr 1fr}.anchor-code-panel header div{grid-column:1/-1}.animation-debug-head{align-items:start;flex-direction:column}.animation-debug-summary{justify-content:flex-start}.animation-phase-toolbar{grid-template-columns:auto repeat(4,minmax(44px,1fr)) auto}.animation-phase-toolbar p{display:none}.animation-debug-scene{height:225px;min-height:225px}}
@media(max-width:520px){.anchor-editor-scene{min-height:250px;aspect-ratio:1.45/1}.anchor-handles button{width:30px;height:30px}.anchor-actions{grid-template-columns:1fr}.anchor-readout{display:block}.anchor-readout span{display:block;margin-top:5px}.animation-phase-toolbar .marker-toggle small{display:none}.animation-debug-scene{height:190px;min-height:190px}}

/* Company settings, marketing campaigns, save transfer, and expanded telemetry */
.market-actions button b,.market-actions button small{display:block;color:var(--green)}.market-actions button small{margin-top:3px;color:#8fa298;font:700 7px DM Mono}.market-actions button:hover b,.market-actions button:hover small{color:#102016}.market-actions button:disabled{opacity:.4;cursor:not-allowed}
.save-transfer{grid-column:1/-1;display:grid;grid-template-columns:minmax(220px,.7fr) minmax(320px,1.3fr);gap:10px 18px;padding:17px;border:1px solid #3a594b;background:#0c1a14}.save-transfer h2{margin:2px 0 5px;font-size:18px}.save-transfer p:last-child{margin:0;color:#8da197;font-size:10px}.save-transfer textarea{grid-row:1/3;grid-column:2;width:100%;min-height:92px;resize:vertical;border:1px solid #456454;background:#06100c;color:#b9f6d5;padding:10px;font:9px/1.45 DM Mono}.save-transfer>div:nth-of-type(2){display:flex;gap:7px}.save-transfer button{border:1px solid #587263;background:#182d23;color:var(--green);padding:9px 12px;font:700 9px DM Mono;cursor:pointer}.save-transfer>small{color:#71867a;font:8px DM Mono}
.company-settings{display:grid;grid-template-columns:1.35fr .85fr 1fr 1fr auto;gap:10px;padding:18px 24px;border-bottom:1px solid #415c4d;background:#0a1712}.company-settings label{display:flex;flex-direction:column;gap:7px;color:#8fa298;font:700 8px DM Mono}.company-settings label>span{display:flex;justify-content:space-between}.company-settings input[type="text"],.company-settings input:not([type]),.company-settings select{min-width:0;border:1px solid #456454;background:#06100c;color:#eef7f2;padding:9px;font:700 10px DM Mono}.company-settings select{height:36px;cursor:pointer}.company-settings input[type="range"]{width:100%;accent-color:var(--green)}.company-settings>button{align-self:end;border:1px solid var(--green);background:#182d23;color:var(--green);padding:10px;font:700 8px DM Mono;cursor:pointer}
.music-player{grid-column:1/-1;margin-top:8px;border:1px solid #466454;background:linear-gradient(135deg,#10251c,#07120e);padding:15px}.music-player>header{display:flex;justify-content:space-between;gap:18px;align-items:start}.music-player>header span{color:var(--mint);font:700 8px DM Mono;letter-spacing:.1em}.music-player h3{margin:4px 0 2px;font-size:20px}.music-player>header b{color:#91a69b;font:700 9px DM Mono}.music-player>p{margin:10px 0;color:#b2c4bb;font-size:11px}.music-modes{display:flex;gap:6px}.music-modes button{border:1px solid #4b6859;background:#0c1a14;color:#8ea298;padding:8px 10px;font:700 8px DM Mono;cursor:pointer}.music-modes button.active{border-color:var(--green);background:var(--green);color:#102016}.music-cycle{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid #2f493c;border-bottom:1px solid #2f493c;color:var(--green);font:700 8px DM Mono}.music-cycle small{color:#789084;font:8px DM Mono}.music-player ol{display:grid;grid-template-columns:1fr;gap:5px;margin:10px 0 0;padding:0;list-style:none}.music-player li{display:grid;grid-template-columns:25px minmax(120px,1fr) auto auto;gap:8px;align-items:center;border:1px solid #294438;padding:7px;background:#0b1712;color:#70867a}.music-player li>span{font:700 9px DM Mono}.music-player li b,.music-player li small{display:block}.music-player li b{color:#dbe7e1;font-size:10px}.music-player li small{margin-top:2px;color:#70867a;font:7px DM Mono}.music-player li>i{font:normal 700 7px DM Mono}.music-player li.playing{border-color:var(--green);box-shadow:inset 3px 0 var(--green)}.music-player li.playing>i{color:var(--green)}.music-player li.played>div:not(.music-track-actions),.music-player li.played>span{opacity:.58}.music-player li.played>i{color:var(--mint)}.music-player li.disabled>div:not(.music-track-actions),.music-player li.disabled>span,.music-player li.disabled>i{opacity:.42}.music-track-actions{display:flex;gap:4px}.music-track-actions button,.music-library-actions button{border:1px solid #496758;background:#13261d;color:#a8b9b0;padding:6px 7px;font:700 7px DM Mono;cursor:pointer}.music-track-actions button:hover,.music-library-actions button:hover:not(:disabled){border-color:var(--green);color:var(--green)}.music-track-actions .delete-track{border-color:#67483f;color:#d99686}.music-library-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid #2f493c}.music-library-actions span{color:#70867a;font:700 7px DM Mono}.music-library-actions button:disabled{opacity:.35;cursor:not-allowed}
.debug-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.debug-chart-grid .debug-chart-card{margin-top:12px}.debug-chart-card small{display:block;margin-top:5px;color:#71867a;font:8px DM Mono}
.debug-shell>footer .feedback-action{border-color:#4a846c;color:var(--mint);box-shadow:inset 0 -2px #285e47}.debug-shell>footer .feedback-action:hover{background:#244c3b;color:#d9ffed}
@media(max-width:760px){.save-transfer{grid-template-columns:1fr}.save-transfer textarea{grid-column:1;grid-row:auto;min-height:110px}}

/* Profiles, cloud saves, leaderboard, and shared tester feedback */
.cloud-trigger.online{border-color:var(--mint);color:var(--mint);box-shadow:inset 0 -2px #2d8060}.cloud-save-status{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;padding:17px 19px;border:1px solid #3a594b;background:radial-gradient(circle at 100% 0,#285c403b,transparent 42%),#0c1a14}.cloud-save-status h2{margin:1px 0 5px;font-size:18px}.cloud-save-status p:last-child{margin:0;color:#8da197;font-size:10px}.cloud-save-status button{border:1px solid var(--mint);background:#16352a;color:var(--mint);padding:11px 14px;font:700 9px DM Mono;cursor:pointer}
.cloud-modal{position:fixed;inset:0;z-index:170;display:grid;place-items:center;padding:22px;background:#030a08ed;backdrop-filter:blur(9px)}.cloud-modal[hidden]{display:none}.cloud-shell{width:min(940px,100%);max-height:94vh;overflow:auto;border:2px solid #5f8872;background:#0b1712;box-shadow:12px 12px 0 #020604,0 25px 100px #000b}.cloud-shell>header{display:flex;align-items:start;justify-content:space-between;padding:24px 28px;border-bottom:1px solid #415c4d;background:radial-gradient(circle at 90% 0,#1d644355,transparent 35%),#172a21}.cloud-shell>header h2{margin:0;font-size:30px}.cloud-shell>header p:last-child{max-width:650px;margin:5px 0 0;color:#a8b9b0;font-size:11px}.cloud-shell>header button{width:42px;height:42px;border:1px solid #5e776a;background:#102019;color:#edf6f1;font-size:25px;cursor:pointer}.cloud-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#405e4e}.cloud-tabs button{min-height:46px;border:0;background:#0a1511;color:#849a8e;font:700 9px DM Mono;cursor:pointer}.cloud-tabs button.active{background:#183126;color:var(--green);box-shadow:inset 0 -4px var(--green)}.cloud-tabs button[hidden]{display:none}.cloud-content{min-height:430px;padding:26px;background:linear-gradient(135deg,#0d1b15,#08110d)}
.account-gate{display:grid;grid-template-columns:1fr 1fr;gap:18px}.account-form,.profile-card,.leaderboard-card,.feedback-admin-card{border:1px solid #385447;background:#0b1813;padding:21px}.account-form h3,.profile-card h3{margin:0 0 6px;font-size:18px}.account-form>p,.profile-card>p{margin:0 0 17px;color:#8fa298;font-size:10px;line-height:1.55}.account-form label{display:block;margin:10px 0;color:#91a399;font:700 8px DM Mono}.account-form input{display:block;width:100%;margin-top:6px;border:1px solid #456454;background:#06100c;color:#eef7f2;padding:11px;font:11px DM Mono}.account-form button,.cloud-action{border:1px solid var(--green);background:var(--green);color:#102016;padding:11px 14px;font:800 9px DM Mono;cursor:pointer}.account-form button{width:100%;margin-top:8px}.cloud-message{min-height:18px;margin:12px 0 0;color:var(--gold);font:9px/1.5 DM Mono}.account-note{grid-column:1/-1;padding:13px 15px;border-left:3px solid var(--mint);background:#12251d;color:#9caea4;font-size:10px}.profile-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:18px}.profile-badge{display:flex;align-items:center;gap:12px;margin-bottom:17px}.profile-badge i{width:48px;height:48px;display:grid;place-items:center;border:2px solid var(--mint);background:#173328;color:var(--green);font:800 16px DM Mono;font-style:normal}.profile-badge b{display:block}.profile-badge small{color:#8da197;font:8px DM Mono}.profile-actions{display:flex;flex-wrap:wrap;gap:8px}.profile-actions button{border:1px solid #587263;background:#182d23;color:var(--mint);padding:10px 12px;font:700 8px DM Mono;cursor:pointer}.profile-actions .danger{border-color:#71483e;color:#ff927e}.cloud-slot-list{display:flex;flex-direction:column;gap:8px}.cloud-slot{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:12px;border:1px solid #385447;background:#0a1511}.cloud-slot>span{display:grid;place-items:center;width:38px;height:38px;background:#1d352a;color:var(--green);font:700 11px DM Mono}.cloud-slot h4{margin:0 0 2px;font-size:12px}.cloud-slot p{margin:0;color:#899d92;font:8px/1.5 DM Mono}.cloud-slot em{color:var(--mint);font:700 8px DM Mono;font-style:normal}.cloud-status-line{margin:14px 0 0;color:#8fa298;font:8px DM Mono}
.leaderboard-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:15px}.leaderboard-head h3{margin:0}.leaderboard-head p{margin:0;color:#869a90;font:8px DM Mono}.leaderboard-table{width:100%;border-collapse:collapse}.leaderboard-table th{text-align:left;color:#7e9488;font:700 7px DM Mono;letter-spacing:.08em;padding:9px;border-bottom:1px solid #385447}.leaderboard-table td{padding:11px 9px;border-bottom:1px solid #253d31;font-size:10px}.leaderboard-table td:first-child{width:48px;color:var(--gold);font:700 11px DM Mono}.leaderboard-table td:last-child{text-align:right;color:var(--green);font:700 10px DM Mono}.leaderboard-table small{display:block;color:#7f9388;font:8px DM Mono}.feedback-admin-list{display:flex;flex-direction:column;gap:9px}.feedback-admin-card{display:grid;grid-template-columns:1fr auto;gap:8px 14px;padding:15px}.feedback-admin-card h4{margin:0;font-size:12px}.feedback-admin-card p{grid-column:1/-1;margin:0;color:#a8b8af;font-size:10px;white-space:pre-wrap}.feedback-admin-card small{color:#7f9388;font:8px DM Mono}.feedback-admin-card select{border:1px solid #4c6759;background:#102019;color:var(--mint);padding:7px;font:8px DM Mono}
.user-manager-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.user-manager-summary article{border:1px solid #365344;background:#0a1511;padding:11px}.user-manager-summary span{display:block;color:#7f9488;font:700 7px DM Mono}.user-manager-summary b{display:block;margin-top:4px;color:var(--green);font:700 18px DM Mono}.user-manager-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) 180px auto;align-items:end;gap:9px;margin-bottom:14px}.user-manager-toolbar label,.managed-user-form label,.managed-user-note{color:#869a90;font:700 7px DM Mono}.user-manager-toolbar input,.user-manager-toolbar select,.managed-user-form input,.managed-user-note input{display:block;width:100%;height:38px;margin-top:5px;border:1px solid #3f5d4d;background:#06100c;color:#edf7f1;padding:8px 10px;font:10px DM Mono}.user-manager-toolbar>span{align-self:center;color:#82968b;font:700 7px/1.4 DM Mono}.user-manager-list{display:flex;flex-direction:column;gap:10px}.managed-user{border:1px solid #385447;border-left:4px solid #5d7b6b;background:#0a1712;padding:15px}.managed-user.administrator{border-left-color:var(--gold)}.managed-user.suspended{border-color:#70483f;border-left-color:#ff8f7c;background:#1b1110}.managed-user>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.managed-user-identity{display:flex;align-items:center;gap:10px}.managed-user-identity i{display:grid;place-items:center;width:38px;height:38px;border:1px solid #5b806c;background:#173328;color:var(--green);font:700 11px DM Mono;font-style:normal}.managed-user-identity b{display:block;font-size:13px}.managed-user-identity small{display:block;margin-top:2px;color:#7f9388;font:8px DM Mono}.managed-user-state{border:1px solid currentColor;color:var(--mint);padding:6px 8px;font:700 7px DM Mono}.managed-user.administrator .managed-user-state{color:var(--gold)}.managed-user.suspended .managed-user-state{color:#ff8f7c}.managed-user-form{display:grid;grid-template-columns:1fr 1fr 130px;align-items:end;gap:9px}.managed-user-form button,.managed-user footer button{height:38px;border:1px solid #4f7561;background:#173328;color:var(--green);padding:8px 10px;font:700 8px DM Mono;cursor:pointer}.managed-user-form button:hover,.managed-user footer button:hover:not(:disabled){border-color:var(--green);background:#214735}.managed-user-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:11px;background:#2e4639}.managed-user-stats span{background:#0e1d17;padding:8px;color:#7f9388;text-align:center;font:700 7px DM Mono}.managed-user-stats b{color:#d8e8df;font-size:10px}.managed-user-history{display:flex;flex-wrap:wrap;gap:7px 18px;padding:9px 0;color:#71857a;font:7px DM Mono}.managed-user-history b{color:#aebfb5}.managed-user-note{display:block}.managed-user footer{display:flex;justify-content:flex-end;gap:8px;margin-top:9px}.managed-user footer button{min-width:130px}.managed-user footer button.warning{border-color:#9b7b3d;color:var(--gold);background:#2b2415}.managed-user footer button.danger{border-color:#7d493f;color:#ff927e;background:#2b1715}.managed-user footer button.restore{border-color:#4a795f;color:#82e9ad}.managed-user footer button:disabled{opacity:.35;cursor:not-allowed}
@media(max-width:700px){.cloud-modal{padding:7px}.cloud-shell>header{padding:18px}.cloud-shell>header h2{font-size:22px}.cloud-content{padding:14px}.account-gate,.profile-grid{grid-template-columns:1fr}.account-note{grid-column:1}.cloud-save-status{grid-template-columns:1fr}.cloud-save-status button{width:100%}.leaderboard-card{padding:10px;overflow-x:auto}.leaderboard-table{min-width:560px}.cloud-tabs{overflow-x:auto;grid-template-columns:repeat(4,minmax(120px,1fr))}.user-manager-summary{grid-template-columns:1fr 1fr}.user-manager-toolbar,.managed-user-form{grid-template-columns:1fr}.user-manager-toolbar>span{grid-column:1}.managed-user-stats{grid-template-columns:1fr 1fr}.managed-user>header{align-items:flex-start}.managed-user footer{display:grid;grid-template-columns:1fr 1fr}.managed-user footer button{min-width:0}}
@media(max-width:700px){.music-player>header,.music-cycle{display:block}.music-modes{margin-top:10px}.music-cycle small{display:block;margin-top:5px}.music-player ol{grid-template-columns:1fr}}
@media(max-width:520px){.brand strong{max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-shell{max-height:96vh;overflow:auto}.settings-tabs button{gap:4px;font-size:7px}.settings-tabs button b{font-size:8px}.settings-panel{min-height:420px;padding:17px 14px}.company-settings{grid-template-columns:1fr}.music-player li{grid-template-columns:20px minmax(0,1fr) auto}.music-track-actions{grid-column:2/-1;justify-content:flex-end}.debug-chart-grid{grid-template-columns:1fr}}
/* Shared Field Radio transport and masthead audio shortcuts */
.audio-mutes{display:flex;gap:4px}.audio-mutes button{width:32px;height:32px;padding:0;border:1px solid #3f5e4e;background:#0b1813;color:#a1b4aa;font:700 9px DM Mono;cursor:pointer}.audio-mutes button[aria-pressed="true"]{border-color:#8b554c;background:#2b1715;color:#ff9c89;text-decoration:line-through}.music-transport{display:flex;gap:6px;margin-top:10px}.music-transport button{flex:1;border:1px solid #496758;background:#13261d;color:var(--mint);padding:8px;font:700 8px DM Mono;cursor:pointer}.music-transport button:hover{border-color:var(--green);color:var(--green)}.music-track-actions .play-track{border-color:#426f59;color:var(--mint)}.music-track-actions button[disabled]{display:none}@media(max-width:900px){.audio-mutes{position:absolute;right:170px;top:14px}}@media(max-width:520px){.audio-mutes{right:116px;top:9px}.audio-mutes button{width:27px;height:27px;font-size:7px}}

/* Compact masthead command bar and public roadmap */
.mast-actions{display:flex;align-items:center;gap:7px}.mast-actions .icon-button{white-space:nowrap}.roadmap-trigger{border-color:#6683a1;color:#9fcfff}.mast-menu{position:relative}.mast-menu-panel{position:absolute;right:0;top:calc(100% + 12px);z-index:40;width:178px;display:grid;grid-template-columns:1fr 1fr;gap:1px;padding:7px;border:1px solid #587263;background:#0a1511;box-shadow:7px 9px 0 #020604,0 18px 45px #000b}.mast-menu-panel[hidden]{display:none}.mast-menu-panel .icon-button{width:100%;padding:10px 6px;background:#12251d;text-align:left;font-size:8px}.mast-menu-panel #debugButton{color:var(--gold)}#mastMenuButton[aria-expanded="true"]{border-color:var(--green);color:var(--ink);background:#183126}
.roadmap-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:20px}.roadmap-summary article{padding:15px;border:1px solid #385447;background:#11231b}.roadmap-summary span{display:block;color:#82978c;font:700 8px DM Mono}.roadmap-summary b{display:block;margin-top:5px;color:var(--green);font:800 22px DM Mono}.roadmap-sections{display:grid;grid-template-columns:1fr 1fr;gap:13px}.roadmap-section{border:1px solid #385447;background:#0b1813}.roadmap-section>header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:#172b22;border-bottom:1px solid #385447}.roadmap-section h3{margin:0;font-size:13px}.roadmap-section header span{color:#809489;font:8px DM Mono}.roadmap-list{list-style:none;margin:0;padding:0}.roadmap-list li{display:grid;grid-template-columns:9px minmax(0,1fr) auto;gap:10px;align-items:start;padding:12px 14px;border-bottom:1px solid #243b30}.roadmap-list li:last-child{border:0}.roadmap-list li>i{width:8px;height:8px;margin-top:3px;border:2px solid var(--mint);border-radius:50%;font-style:normal}.roadmap-list b{display:block;font-size:11px;line-height:1.35}.roadmap-list small{display:block;margin-top:3px;color:#799086;font:7px DM Mono}.roadmap-status{padding:4px 6px;border:1px solid #4f705f;color:var(--mint);font:700 7px DM Mono}.roadmap-status.planned{border-color:var(--gold);color:var(--gold)}
@media(max-width:1120px){.mast-actions{gap:4px}.mast-actions .icon-button{padding-inline:8px}}
@media(max-width:900px){.masthead{height:110px}.mast-actions{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(4,1fr);width:100%}.mast-actions>.icon-button,.mast-menu>#mastMenuButton{width:100%}.mast-menu-panel{right:0;top:calc(100% + 5px)}}
@media(max-width:700px){.roadmap-sections{grid-template-columns:1fr}.roadmap-summary{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.masthead{height:104px;grid-template-rows:42px 38px}.mast-actions{grid-row:2;grid-template-columns:repeat(4,1fr)}.mast-actions #themeButton,.mast-actions #roadmapButton,.mast-actions #cloudButton,.mast-actions #feedbackButton,.mast-actions #helpButton,.mast-actions #gamesButton,.mast-actions #saveButton,.mast-actions #viewButton,.mast-actions #debugButton{grid-column:auto;grid-row:auto}.mast-actions .icon-button{font-size:7px;padding:8px 2px}.mast-menu-panel{position:fixed;top:96px;right:7px;width:210px}.roadmap-summary{grid-template-columns:1fr 1fr}.roadmap-summary article:last-child{grid-column:1/-1}.top-finance{top:7px}.audio-mutes{right:116px;top:8px}}

.admin-view-toggle{border:1px solid #a5823e;background:#241f12;color:var(--gold);padding:9px 10px;font:700 8px DM Mono;cursor:pointer;white-space:nowrap}.admin-view-toggle[hidden]{display:none!important}.admin-view-toggle.active{border-color:#ff9c89;background:#321b17;color:#ffb09f}.feedback-history{margin:0 28px 22px;border:1px solid #385447;background:#0a1712}.feedback-history>header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid #385447;background:#14271f}.feedback-history>header span{color:#84998e;font:700 8px DM Mono}.feedback-history>header h3{margin:2px 0 0;font-size:13px}.feedback-history>header button{border:1px solid #6683a1;background:#132536;color:#9fcfff;padding:9px 11px;font:700 8px DM Mono;cursor:pointer}.my-feedback-list{display:flex;flex-direction:column}.my-feedback-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:11px 14px;border-bottom:1px solid #243b30}.my-feedback-row:last-child{border:0}.my-feedback-row b{font-size:11px}.my-feedback-row small{color:#7f9388;font:8px DM Mono}.feedback-status-chip{align-self:center;padding:5px 7px;border:1px solid currentColor;font:700 7px DM Mono}.status-new{color:#78cfff}.status-reviewing{color:#d5b862}.status-ingested{color:#9dff58}.status-planned{color:#f4c85d}.status-resolved{color:#69d6a2}.status-declined{color:#ff8f7c}.status-closed{color:#8b9a92}.feedback-admin-card select.status-new{color:#78cfff}.feedback-admin-card select.status-reviewing{color:#d5b862}.feedback-admin-card select.status-ingested{color:#9dff58}.feedback-admin-card select.status-planned{color:#f4c85d}.feedback-admin-card select.status-resolved{color:#69d6a2}.feedback-admin-card select.status-declined{color:#ff8f7c}.feedback-admin-card select.status-closed{color:#8b9a92}.roadmap-modal{position:fixed;inset:0;z-index:190;display:grid;place-items:center;padding:22px;background:#030a08ef;backdrop-filter:blur(10px)}.roadmap-modal[hidden]{display:none}.roadmap-shell{width:min(980px,100%);max-height:92vh;overflow:auto;border:2px solid #6683a1;background:#0b1712;box-shadow:12px 12px 0 #020604,0 25px 100px #000b}.roadmap-shell>header{display:flex;justify-content:space-between;padding:24px 28px;border-bottom:1px solid #46627d;background:radial-gradient(circle at 90% 0,#27537a55,transparent 35%),#172a21}.roadmap-shell>header h2{margin:0;font-size:30px}.roadmap-shell>header p:last-child{color:#a8b9b0;font-size:11px}.roadmap-shell>header button{width:42px;height:42px;border:1px solid #6683a1;background:#102019;color:#edf6f1;font-size:25px;cursor:pointer}.roadmap-shell>#roadmapRows{padding:24px}
.negotiation-dialogue{min-height:210px;max-height:260px;overflow:auto;margin:18px 0 12px;padding:12px;border:1px solid #3f5c4c;background:#08110d}.negotiation-line{display:grid;grid-template-columns:64px 1fr;gap:9px;padding:9px 0;border-bottom:1px solid #20372c}.negotiation-line:last-child{border:0}.negotiation-line span{color:#82978c;font:700 8px DM Mono}.negotiation-line p{margin:0;color:#d3ded8;font-size:10px;line-height:1.45}.negotiation-line.player span{color:var(--mint)}.negotiation-line.supplier span{color:var(--gold)}.negotiation-offers{display:grid;grid-template-columns:1fr 1fr;gap:7px}.negotiation-offers button{border:1px solid #587263;background:#182d23;color:var(--mint);padding:10px 6px;font:700 8px DM Mono;cursor:pointer}.negotiation-offers #acceptBundleOffer{grid-column:1/-1;border-color:var(--green);color:var(--green)}.negotiation-offers button:disabled{opacity:.3;cursor:not-allowed}
@media(max-width:1120px){.admin-view-toggle{padding-inline:7px;font-size:7px}}@media(max-width:900px){.admin-view-toggle{position:absolute;right:284px;top:14px}.feedback-history{margin-inline:18px}}@media(max-width:520px){.admin-view-toggle{right:179px;top:8px;padding:7px 5px;font-size:6px}.feedback-history{margin:0 14px 14px}.feedback-history>header{gap:8px}.feedback-history>header button{padding:8px 6px;font-size:6px}.roadmap-modal{padding:7px}.roadmap-shell>header{padding:18px}.roadmap-shell>header h2{font-size:22px}.roadmap-shell>#roadmapRows{padding:13px}}

/* Operational job cards: job class, assigned crew names, live production, and ETA. */
.job-slot-tabs{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.job-slot-tabs button{display:flex;flex-direction:column;min-height:142px;padding:14px 15px;overflow:hidden}
.job-slot-tabs button .slot-kicker{display:flex;justify-content:space-between;gap:10px;width:100%}
.job-slot-tabs button .slot-kicker i{position:static;color:#8da297;font:700 8px DM Mono;font-style:normal}
.job-slot-tabs button>b{font-size:14px;margin:7px 0 2px}
.job-slot-tabs button .slot-job-type{display:block;color:#92e7c0;font:700 8px/1.35 DM Mono;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.job-slot-tabs button .slot-crew-names{display:block;min-height:28px;margin-top:8px;color:#a8b9b0;font:8px/1.4 DM Mono;font-style:normal}
.job-slot-tabs button footer{display:grid;grid-template-columns:1fr auto;gap:3px 12px;width:100%;margin-top:auto;padding-top:9px;border-top:1px solid #2c473a}
.job-slot-tabs button footer small{font:700 8px DM Mono;color:#dce8e2}
.job-slot-tabs button footer i{position:static;color:#79a68f;font:700 8px DM Mono;font-style:normal;text-align:right}
.job-slot-tabs button footer strong{grid-column:1/-1;color:var(--gold);font:700 8px DM Mono}

/* Fixed-height shortcut row prevents booking from moving the field controls. */
.quick-book-bar{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-height:66px;margin:-5px 0 12px;padding:8px 10px;border:1px solid #345344;background:#0a1712}
.quick-book-bar>span{color:#8fa49a;font:700 8px DM Mono;writing-mode:vertical-rl;transform:rotate(180deg)}
.quick-book-buttons{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;min-height:48px}
.quick-book-buttons button{min-width:0;height:48px;padding:7px 8px;border:1px solid color-mix(in srgb,var(--quick-job) 72%,#385447);border-left:4px solid var(--quick-job);background:linear-gradient(145deg,color-mix(in srgb,var(--quick-job) 16%,#13231b),#0d1a15);color:#e9f3ee;text-align:left;cursor:pointer;box-shadow:inset 0 -2px color-mix(in srgb,var(--quick-job) 45%,#13231b)}
.quick-book-buttons button:not(.quick-book-empty):hover{transform:translateY(-1px);border-color:var(--quick-job);background:color-mix(in srgb,var(--quick-job) 22%,#102019)}
.quick-book-buttons button span{display:block;overflow:hidden;color:#aebeb6;font:700 7px DM Mono;white-space:nowrap;text-overflow:ellipsis}
.quick-book-buttons button b{display:block;margin-top:5px;color:var(--quick-job);font:800 11px DM Mono}
.quick-book-buttons .quick-book-empty{visibility:hidden;pointer-events:none}
.quick-book-buttons.work-ready{grid-template-columns:1fr}.quick-book-buttons .goto-work-button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;height:48px;border-left-width:6px}.quick-book-buttons .goto-work-button span{font-size:8px}.quick-book-buttons .goto-work-button b{margin:0;font-size:10px}

/* Keep the command mast available while every in-game popup is open. */
:root{--mast-clearance:82px}
.masthead{z-index:250}
.modal,.parts-job-modal,.cloud-modal,.help-modal,.debug-modal,.feedback-modal,.roadmap-modal,.theme-modal{top:var(--mast-clearance);bottom:0;left:0;right:0}
.modal-card,.parts-job-shell,.cloud-shell,.help-shell,.debug-shell,.feedback-shell,.roadmap-shell,.theme-shell{max-height:calc(100vh - var(--mast-clearance) - 24px)}
@media(max-width:900px){:root{--mast-clearance:110px}.job-slot-tabs{grid-template-columns:repeat(auto-fit,minmax(225px,1fr))}.quick-book-buttons{overflow-x:auto;grid-template-columns:repeat(5,minmax(120px,1fr))}}
@media(max-width:520px){:root{--mast-clearance:104px}.job-slot-tabs{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.job-slot-tabs button{min-height:136px}.quick-book-bar{grid-template-columns:1fr;gap:4px}.quick-book-bar>span{writing-mode:horizontal-tb;transform:none}.quick-book-buttons{grid-template-columns:repeat(5,120px)}}

/* Supplier conversation outcomes and standalone order artwork. */
.negotiation-line.supplier.hold{border-left:4px solid #ff7768;background:#351a17}.negotiation-line.supplier.hold span,.negotiation-line.supplier.hold p{color:#ff9d91}.negotiation-line.supplier.counter{border-left:4px solid var(--gold);background:#332b14}.negotiation-line.supplier.counter span,.negotiation-line.supplier.counter p{color:#f1d46d}.negotiation-line.accept{border-left:4px solid var(--green);background:#17351e}.negotiation-line.accept span,.negotiation-line.accept p{color:#aefc80}
.parts-takeoff-list .part-sprite:is(.part-valveBox,.part-spliceBox,.part-clampBag,.part-pvcCement,.part-poly25,.part-poly50,.part-poly100,.part-polyFitting,.part-swingArm,.part-moistureSensor,.part-rainSensor,.part-freezeSensor,.part-deicer){background-size:cover;background-position:center}

/* Feedback composition and personal reports are separate workspaces. */
.feedback-tabs{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#3a5548;border-bottom:1px solid #415c4d}.feedback-tabs button{min-height:48px;border:0;background:#0a1712;color:#879b90;font:700 9px DM Mono;cursor:pointer}.feedback-tabs button.active{background:#183126;color:var(--green);box-shadow:inset 0 -4px var(--green)}.feedback-tab-panel[hidden]{display:none}.feedback-tab-panel>.feedback-fields{padding-bottom:20px}.feedback-tab-panel>footer{display:flex;align-items:center;gap:8px;padding:16px 24px;border-top:1px solid #3a5548;background:#0b1712}.feedback-tab-panel>footer>span{margin-right:auto;color:#87a095;font:9px DM Mono}.feedback-tab-panel>footer button{border:1px solid #587263;background:#182d23;color:var(--mint);padding:10px 13px;font:700 9px DM Mono;cursor:pointer}.feedback-tab-panel>footer button[type=submit]{border-color:var(--green);background:var(--green);color:#102016}.feedback-tab-panel>footer button:disabled{opacity:.45}.feedback-history.feedback-tab-panel{margin-top:22px}
.my-feedback-row small{display:block;margin-top:4px}
@media(max-width:700px){.feedback-tab-panel>footer{flex-wrap:wrap}.feedback-tab-panel>footer>span{width:100%;margin:0}.feedback-tab-panel>footer button{flex:1}}

/* Pointer-positioned manual-work feedback. */
.click-effects{z-index:8}.water-pop{translate:-50% -50%}.pointer-work-pop{position:fixed;z-index:300;pointer-events:none}

/* Scene-rich, category-coded dispatch cards. */
.job-ticket.job-category-maintenance{--job-category:#72dc67}.job-ticket.job-category-service{--job-category:#62d9ef}.job-ticket.job-category-install{--job-category:#f39a62}.job-ticket.job-category-business{--job-category:#f0c864}.job-ticket.job-category-snow{--job-category:#8edcff}
.job-ticket[class*="job-category-"]{grid-template-columns:82px minmax(0,1fr) 112px;border-left-color:var(--job-category);background:linear-gradient(100deg,color-mix(in srgb,var(--job-category) 10%,#101e18),#101e18)}
.job-ticket.queued[class*="job-category-"]{grid-template-columns:32px 72px minmax(0,1fr) auto;border-left-color:var(--job-category)}
.job-thumb{position:relative;width:76px;height:58px;display:block;border:2px solid var(--job-category);background-image:linear-gradient(#07120c22,#07120c55),var(--job-thumb);background-size:cover;background-position:center;box-shadow:inset 0 0 0 2px #ffffff12,0 6px 14px #0005;overflow:hidden}
.job-ticket.queued .job-thumb{width:66px;height:50px}.job-type-stamp{position:absolute;right:3px;bottom:3px;width:24px;height:24px;border:2px solid var(--job-category);background-size:cover;background-position:center;box-shadow:2px 2px 0 #06100c}.stamp-maintenance{background-image:url("assets/ui/job-type-maintenance-v1.png")}.stamp-service{background-image:url("assets/ui/job-type-service-v1.png")}.stamp-install{background-image:url("assets/ui/job-type-install-v1.png")}.stamp-business{background-image:url("assets/jobs/business-canvassing-v1.png")}.stamp-snow{background-image:url("assets/jobs/snow-driveway-v1.png")}
.job-category-label{display:block;margin-bottom:3px;color:var(--job-category);font:800 9px/1.4 DM Mono;letter-spacing:.08em}.job-ticket[class*="job-category-"] .job-reward>b{color:var(--job-category)}.job-ticket[class*="job-category-"] .service-type{color:var(--job-category)}
@media(max-width:650px){.job-ticket[class*="job-category-"]{grid-template-columns:64px minmax(0,1fr)}.job-ticket[class*="job-category-"] .job-reward{grid-column:2}.job-ticket.queued[class*="job-category-"]{grid-template-columns:28px 58px minmax(0,1fr)}.job-ticket.queued[class*="job-category-"] .job-reward{grid-column:3}.job-thumb{width:58px;height:48px}.job-ticket.queued .job-thumb{width:54px;height:44px}.job-type-stamp{width:20px;height:20px}}

/* One authoritative jobsite view: native artwork ratio, responsive at every browser scale. */
.hero{grid-template-columns:minmax(0,1fr) minmax(250px,330px);align-items:end}
.hero-copy,.season-card{grid-column:auto;grid-row:auto}
#jobScene{width:100%;height:auto;aspect-ratio:var(--scene-aspect,16 / 9);background-size:cover;background-repeat:no-repeat}
.compact-view .hero{grid-template-columns:minmax(0,1fr) minmax(250px,330px)}
.compact-view .season-card{grid-column:auto;display:block}
@media(max-width:768px){.hero,.compact-view .hero{grid-template-columns:1fr}.season-card,.compact-view .season-card{width:100%;max-width:none;grid-column:auto}}
