:root{--ink:#17342c;--muted:#687970;--cream:#f7f3e8;--paper:#fffdf8;--green:#2f6e55;--lime:#b9cf70;--orange:#ef8b50;--line:#dce3d8;--shadow:0 18px 55px rgba(31,65,49,.13)}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.topbar{height:76px;padding:0 4vw;background:var(--paper);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:28px;position:relative;z-index:10}.brand{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none}.brand span{display:grid}.brand strong{font-family:Georgia,serif;font-size:21px}.brand small,.eyebrow{font-size:9px;letter-spacing:.15em;font-weight:800;color:var(--green)}.town-balance{margin-left:auto;text-align:right;border-right:1px solid var(--line);padding-right:28px}.town-balance span{display:block;color:var(--muted);font-size:11px}.town-balance strong{font-size:20px;font-variant-numeric:tabular-nums}.status-pill{padding:9px 13px;border-radius:99px;background:#e9f2dc;color:var(--green);font-size:12px;font-weight:700}.live-dot{display:inline-block;width:7px;height:7px;background:#65a943;border-radius:50%;margin-right:6px;box-shadow:0 0 0 4px rgba(101,169,67,.14)}
.game-shell{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;padding:24px 3vw;max-width:1600px;margin:auto}.map-card,.economy-card{background:var(--paper);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 10px 35px rgba(31,65,49,.06)}.section-heading{height:92px;padding:20px 26px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.section-heading h1{font:700 26px/1.1 Georgia,serif;margin:5px 0}.eyebrow{margin:0}.legend{display:flex;gap:15px;color:var(--muted);font-size:11px}.legend .dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:5px}.dot.producing{background:#68a74a}.dot.idle{background:#b8c0ba}.town-map{height:calc(100vh - 216px);min-height:560px;position:relative;overflow:hidden;background:#dce8b7}.map-texture{position:absolute;inset:0;background-image:radial-gradient(#9fb77a 1px,transparent 1px);background-size:20px 20px;opacity:.35}.river{position:absolute;width:15%;height:130%;right:3%;top:-15%;background:#a7d7dc;transform:rotate(8deg);border:7px solid rgba(255,255,255,.45);border-radius:50%}.road{position:absolute;background:#e7d3a6;border:1px solid #d7bd88;box-shadow:inset 0 0 0 8px rgba(255,255,255,.16)}.road-main{left:-5%;top:48%;width:110%;height:92px;transform:rotate(-4deg)}.road-branch-a{left:28%;top:0;width:74px;height:100%;transform:rotate(10deg)}.road-branch-b{right:26%;top:15%;width:70px;height:85%;transform:rotate(-11deg)}.business{position:absolute;width:180px;border:0;background:transparent;cursor:pointer;padding:0;color:var(--ink);transition:transform .2s;z-index:3}.business:hover,.business:focus-visible{transform:translateY(-5px)}.business:focus-visible{outline:3px solid var(--orange);border-radius:12px}.business>img{width:145px;height:125px;object-fit:contain;filter:drop-shadow(0 12px 7px rgba(39,66,46,.18))}.farm{left:8%;top:10%}.bakery{left:39%;top:17%}.grocery{right:8%;top:46%}.delivery{left:18%;bottom:7%}.map-label{display:grid;background:rgba(255,253,248,.94);padding:8px 10px;border:1px solid rgba(255,255,255,.8);box-shadow:0 5px 16px rgba(35,61,44,.12);border-radius:9px}.map-label strong{font:700 14px Georgia,serif}.map-label small{font-size:10px;color:var(--muted);margin-top:3px}.activity-badge{position:absolute;right:5px;top:8px;background:var(--green);color:white;padding:5px 8px;border-radius:99px;font-size:9px;font-weight:800;z-index:2}.crop{position:absolute;width:50px;z-index:1}.crop-a{left:3%;top:36%}.crop-b{left:20%;top:29%}.truck-route{position:absolute;left:48%;top:50%;width:38%;height:60px;z-index:5;pointer-events:none}.truck-route img{width:78px;opacity:0;transform:translateX(0)}.truck-route img.driving{opacity:1;animation:drive 4s ease-in-out forwards}@keyframes drive{0%{transform:translateX(0) scaleX(1)}90%{transform:translateX(calc(38vw - 180px)) scaleX(1)}100%{transform:translateX(calc(38vw - 180px)) scaleX(1);opacity:0}}
.economy-card{padding-bottom:18px}.section-heading.compact{height:92px}.section-heading h2{font:700 22px Georgia,serif;margin:5px 0}.section-heading.compact>span{font-size:12px;font-weight:800;background:var(--cream);padding:8px;border-radius:7px}.flow-list{list-style:none;margin:0;padding:12px 18px}.flow-list li{display:grid;grid-template-columns:39px 1fr auto;align-items:center;gap:10px;padding:14px 5px;border-bottom:1px solid var(--line)}.flow-list img{width:35px;height:35px;background:#edf2e3;padding:7px;border-radius:10px}.flow-list span{display:grid}.flow-list strong{font-size:12px}.flow-list small{font-size:10px;color:var(--muted);margin-top:3px}.flow-list b{font-size:12px;background:var(--cream);padding:5px 8px;border-radius:6px}.tip{display:flex;gap:10px;margin:15px 18px 0;padding:14px;background:#f4e5d2;border-radius:12px}.tip img{width:23px}.tip p{font-size:11px;color:#665340;margin:0;line-height:1.5}
dialog{width:min(760px,calc(100% - 30px));border:0;padding:0;border-radius:22px;color:var(--ink);box-shadow:var(--shadow);background:var(--paper)}dialog::backdrop{background:rgba(19,45,36,.48);backdrop-filter:blur(3px)}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:17px 22px;border-bottom:1px solid var(--line)}.dialog-header-actions{display:flex;align-items:center;gap:9px}.district-navigation-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:10px;padding:9px 12px;background:#edf4e8;color:var(--green);font-size:10px;font-weight:900;cursor:pointer}.district-navigation-button:hover{background:#dfeadd}.district-navigation-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.panel-title{display:flex;align-items:center;gap:14px}.panel-title>img{width:70px;height:58px;object-fit:contain}.panel-title h2{font:700 22px Georgia,serif;margin:3px 0}.icon-button{border:0;background:var(--cream);width:36px;height:36px;border-radius:50%;cursor:pointer}.icon-button img{width:15px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.metrics div{background:var(--paper);padding:18px 23px}.metrics span{display:block;color:var(--muted);font-size:10px}.metrics strong{display:block;font-size:21px;margin-top:5px}.panel-content{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px;padding:24px}.subheading{display:flex;align-items:center;justify-content:space-between}.subheading h3{font:700 16px Georgia,serif;margin:0}.subheading span{font-size:9px;color:var(--green);font-weight:800}.panel-content section>p{font-size:12px;color:var(--muted);line-height:1.6;min-height:58px}.primary-action{width:100%;border:0;border-radius:10px;background:var(--green);color:white;padding:12px;font-weight:800;cursor:pointer}.primary-action:hover{background:#245a45}.primary-action:disabled{opacity:.48;cursor:not-allowed}.transactions{list-style:none;margin:10px 0 0;padding:0;max-height:190px;overflow:auto}.transactions li{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:11px}.transactions time{color:var(--muted)}.transactions .positive{color:#33764e}.transactions .negative{color:#b65a45}.empty{color:var(--muted);font-style:italic}#toast-region{position:fixed;right:22px;bottom:22px;z-index:20}.toast{background:var(--ink);color:white;padding:11px 16px;border-radius:10px;margin-top:8px;box-shadow:var(--shadow);font-size:12px;animation:toast 3s forwards}@keyframes toast{0%{opacity:0;transform:translateY(8px)}10%,85%{opacity:1;transform:none}100%{opacity:0}}
@media(max-width:900px){.game-shell{grid-template-columns:1fr}.town-map{height:620px}.economy-card{order:-1}.flow-list{display:grid;grid-template-columns:repeat(2,1fr)}.flow-list li{border-right:1px solid var(--line)}.tip{display:none}}@media(max-width:600px){.topbar{padding:0 15px}.brand small,.status-pill{display:none}.town-balance{padding-right:0;border:0}.game-shell{padding:12px}.section-heading{padding:16px;height:auto}.legend{display:none}.town-map{min-height:560px}.business{width:145px}.business>img{width:115px;height:105px}.farm{left:0}.bakery{left:43%;top:19%}.grocery{right:0}.delivery{left:8%}.panel-content{grid-template-columns:1fr}.metrics div{padding:14px 10px}.metrics strong{font-size:16px}.flow-list{grid-template-columns:1fr 1fr}.flow-list li{grid-template-columns:32px 1fr}.flow-list li>b{display:none}}

/* Role-based game layer */
.player-role{margin-left:auto;display:flex;align-items:center;gap:9px}.player-role[hidden]{display:none}.player-role img{width:42px;height:36px;object-fit:contain}.player-role span{display:grid}.player-role small{font-size:8px;letter-spacing:.12em;color:var(--muted);font-weight:800}.player-role strong{font-size:13px}.change-role{border:1px solid var(--line);background:transparent;color:var(--green);padding:8px 11px;border-radius:8px;font-size:11px;font-weight:800;cursor:pointer}.business.locked{cursor:not-allowed;filter:saturate(.45);opacity:.72}.business.locked:hover{transform:none}.business.owned .map-label{outline:3px solid var(--orange);box-shadow:0 7px 22px rgba(57,74,45,.22)}
.role-summary{padding:10px 18px}.role-summary div{display:flex;align-items:center;justify-content:space-between;padding:15px 5px;border-bottom:1px solid var(--line)}.role-summary span{font-size:11px;color:var(--muted)}.role-summary strong{font-size:17px}.open-business{display:block;width:calc(100% - 36px);margin:8px 18px 12px;padding:13px;border:0;border-radius:10px;background:var(--green);color:#fff;font-weight:800;cursor:pointer}.control-stack{display:grid;gap:8px}.market-note{background:var(--cream);border-radius:8px;padding:9px!important;min-height:0!important;margin:0 0 3px!important;text-align:center}.price-control{display:grid;grid-template-columns:1fr auto;gap:8px;background:var(--cream);padding:11px;border-radius:9px;font-size:11px}.price-control output{font-weight:800}.price-control input{grid-column:1/-1;width:100%;accent-color:var(--green)}
.role-gate{position:fixed;inset:0;z-index:50;background:radial-gradient(circle at 50% 20%,#fffdf8 0,#f7f3e8 55%,#e6ebd2 100%);display:grid;place-content:center;padding:35px;overflow:auto}.role-gate.hidden{display:none}.role-intro{text-align:center;max-width:630px;margin:0 auto 28px}.role-intro>img{width:54px}.role-intro h1{font:700 clamp(30px,4vw,48px) Georgia,serif;margin:8px 0}.role-intro>p:last-child{color:var(--muted);font-size:14px}.role-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,230px));gap:14px}.role-card{border:1px solid var(--line);border-radius:18px;background:var(--paper);padding:20px 16px;cursor:pointer;color:var(--ink);transition:.2s;box-shadow:0 10px 30px rgba(31,65,49,.06)}.role-card:hover,.role-card:focus-visible{transform:translateY(-7px);border-color:var(--orange);box-shadow:var(--shadow)}.role-card>img{width:100%;height:110px;object-fit:contain}.role-card span{display:grid;text-align:left}.role-card small{font-size:8px;letter-spacing:.13em;color:var(--green);font-weight:800}.role-card strong{font:700 20px Georgia,serif;margin:5px 0}.role-card em{font-size:10px;color:var(--muted);font-style:normal}.local-note{text-align:center;font-size:10px;color:var(--muted);margin:22px 0 0}
.name-field{width:min(430px,100%);margin:-12px auto 22px;display:grid;gap:6px}.name-field label{font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--green)}.name-field input{width:100%;border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:14px 16px;color:var(--ink);font:600 15px inherit;box-shadow:0 7px 20px rgba(31,65,49,.06)}.name-field input:focus{outline:3px solid rgba(239,139,80,.35);border-color:var(--orange)}.name-field small{min-height:15px;color:#b34f3f;font-size:10px}
@media(max-width:900px){.role-grid{grid-template-columns:repeat(2,minmax(180px,230px))}}@media(max-width:600px){.change-role{font-size:0}.change-role:after{content:'Switch';font-size:10px}.player-role img{display:none}.role-gate{padding:22px 14px}.role-grid{grid-template-columns:1fr 1fr}.role-card{padding:12px}.role-card>img{height:75px}.role-card strong{font-size:16px}}

/* Farmer prototype */
.reset-game{border:0;background:#f5e7db;color:#9b5239;padding:8px 11px;border-radius:8px;font-size:11px;font-weight:800;cursor:pointer}.role-intro h1 span{display:block;color:var(--green);font:800 11px/1.2 Inter,system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;margin-bottom:9px}.role-card{display:flex;flex-direction:column}.role-card button{margin-top:16px;border:0;border-radius:9px;background:var(--green);color:#fff;padding:10px 12px;font-size:11px;font-weight:800;cursor:pointer}.role-card button:hover{background:#245a45}.map-progress{height:4px;border-radius:99px;background:#dce3d8;margin-top:6px;overflow:hidden;display:none}.map-progress.visible{display:block}.map-progress b{display:block;height:100%;background:var(--orange);transition:width .25s linear}
.activity-feed{list-style:none;padding:12px 18px;margin:0;max-height:365px;overflow:auto}.activity-feed li{display:flex;gap:10px;padding:12px 4px;border-bottom:1px solid var(--line);font-size:11px;line-height:1.4}.activity-feed li>i{width:8px;height:8px;margin-top:4px;border-radius:50%;background:var(--orange);flex:0 0 auto}.activity-feed li>span{display:flex;justify-content:space-between;gap:10px;width:100%}.activity-feed small{color:var(--muted);font-size:9px;white-space:nowrap}.activity-feed .empty{display:block;color:var(--muted)}
dialog{width:min(900px,calc(100% - 30px))}.farmer-metrics{grid-template-columns:repeat(5,1fr)}.control-stack{gap:10px}.operation-row{display:grid;grid-template-columns:1fr 64px 70px;gap:8px;align-items:center;padding:10px;background:var(--cream);border-radius:10px}.operation-row span{display:grid}.operation-row strong,.listing-form>strong{font-size:11px}.operation-row small{font-size:9px;color:var(--muted);margin-top:2px}.operation-row input,.listing-form input{width:100%;border:1px solid var(--line);border-radius:7px;background:var(--paper);padding:8px;color:var(--ink)}.operation-row button{border:0;border-radius:7px;background:var(--green);color:#fff;padding:9px 6px;font-size:10px;font-weight:800;cursor:pointer}.operation-row button:disabled{opacity:.45}.production-empty{padding:10px;border:1px dashed var(--line);border-radius:9px;color:var(--muted);font-size:10px;text-align:center}.production-list{display:grid;gap:7px}.production-list>div{padding:10px;background:#edf2e3;border-radius:9px}.production-list span{display:flex;justify-content:space-between;font-size:10px}.production-list small{color:var(--muted)}.production-list i{display:block;height:7px;background:#d7dfc7;border-radius:99px;overflow:hidden;margin-top:8px}.production-list i b{display:block;height:100%;background:linear-gradient(90deg,var(--lime),var(--green));transition:width .25s linear}.harvest-action{background:var(--orange)}.harvest-action:hover{background:#d97842}.listing-form{padding:12px;border:1px solid var(--line);border-radius:10px}.listing-form>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}.listing-form label{font-size:9px;color:var(--muted)}.listing-form input{display:block;margin-top:4px}.active-listings{padding:11px;background:#edf2e3;border-radius:10px;margin:10px 0}.active-listings>strong{font-size:10px;color:var(--green)}.active-listings p{display:flex;justify-content:space-between;margin:8px 0 0;font-size:10px}.no-listings{padding:10px;border:1px dashed var(--line);border-radius:9px;margin:10px 0;color:var(--muted);font-size:10px;text-align:center}.read-only-note{text-align:center;padding:16px;background:var(--cream);border-radius:12px}.read-only-note img{width:100px;height:75px;object-fit:contain;display:block;margin:auto}.read-only-note strong{font:700 14px Georgia,serif}.read-only-note p{min-height:0!important;margin:7px 0 0!important;font-size:10px!important}
@media(max-width:700px){.farmer-metrics{grid-template-columns:repeat(3,1fr)}.farmer-metrics div:nth-child(n+4){border-top:1px solid var(--line)}.operation-row{grid-template-columns:1fr 55px 60px}.reset-game{font-size:0}.reset-game:after{content:'Reset';font-size:10px}}

/* Local player administration */
.menu-footer{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:20px}.menu-footer .local-note{margin:0}.admin-menu-button{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--paper);color:var(--green);border-radius:8px;padding:7px 10px;font-size:10px;font-weight:800;cursor:pointer}.admin-menu-button img{width:17px;height:17px}.admin-dialog{width:min(760px,calc(100% - 30px))}.admin-dialog .dialog-header h2{font:700 23px Georgia,serif;margin:3px 0}.admin-summary{display:grid;grid-template-columns:repeat(3,1fr);background:var(--line);gap:1px;border-bottom:1px solid var(--line)}.admin-summary>div{background:var(--paper);padding:17px 22px}.admin-summary span{display:block;font-size:9px;color:var(--muted)}.admin-summary strong{display:block;font-size:20px;margin-top:4px}.admin-players{padding:18px;display:grid;gap:9px;max-height:460px;overflow:auto}.admin-player{display:grid;grid-template-columns:60px minmax(0,1fr) auto auto;align-items:center;gap:13px;padding:11px;border:1px solid var(--line);border-radius:12px}.admin-player>img{width:58px;height:50px;object-fit:contain}.admin-player>div>span{font-size:8px;letter-spacing:.1em;font-weight:800;color:var(--green)}.admin-player i{font-style:normal;background:#e9f2dc;padding:3px 5px;border-radius:99px;margin-left:4px}.admin-player h3{font:700 16px Georgia,serif;margin:3px 0}.admin-player p{margin:0;font-size:9px;color:var(--muted)}.admin-player>strong{font-size:13px}.admin-player>button{border:0;border-radius:7px;background:#f5e7db;color:#a34f35;padding:8px 10px;font-size:9px;font-weight:800;cursor:pointer}.admin-empty{padding:40px;text-align:center;color:var(--muted);font-size:12px}.name-field{margin:-12px auto 20px}
@media(max-width:600px){.menu-footer{display:grid;text-align:center}.admin-menu-button{justify-self:center}.admin-player{grid-template-columns:48px 1fr auto}.admin-player>img{width:46px}.admin-player>strong{display:none}.admin-player>button{grid-column:3;grid-row:1}.admin-summary>div{padding:12px}.admin-summary strong{font-size:16px}}

/* Delivery company and supply-chain routes */
.truck-route{left:0;top:0;width:1px;height:1px}.truck-route.wheat{left:20%;top:29%}.truck-route.bread{left:50%;top:34%}.truck-route #truck{position:absolute;width:78px;opacity:0;transition:transform .25s linear}.truck-route .truck-cargo{position:absolute;width:22px;height:22px;left:25px;top:9px;padding:3px;border-radius:5px;background:#fff7d9;opacity:0;z-index:2;transition:transform .25s linear}.truck-route.active #truck,.truck-route.active .truck-cargo{animation:none}.delivery-metrics{grid-template-columns:repeat(6,1fr)}.listing-item{padding:9px 0;border-top:1px solid #d7dfc7}.listing-item:first-of-type{margin-top:7px}.listing-item p{margin:0}.listing-item>small{display:block;color:var(--muted);font-size:9px;margin:4px 0 7px}.listing-item>button{width:100%;border:0;border-radius:7px;background:var(--green);color:#fff;padding:8px;font-size:9px;font-weight:800;cursor:pointer}.listing-item>button:disabled{opacity:.45}.dispatch-card{display:grid;grid-template-columns:48px 1fr 66px;gap:10px;align-items:center;padding:13px;background:var(--cream);border-radius:12px}.dispatch-card>img{width:42px}.dispatch-card>div{display:grid}.dispatch-card strong{font-size:11px}.dispatch-card small{font-size:9px;color:var(--muted);margin-top:3px}.dispatch-card input{width:100%;border:1px solid var(--line);border-radius:7px;padding:8px;background:var(--paper)}.dispatch-card button{grid-column:1/-1;border:0;border-radius:8px;background:var(--green);color:#fff;padding:10px;font-size:10px;font-weight:800;cursor:pointer}.dispatch-card button:disabled{opacity:.45}.no-active-job{padding:10px;border:1px dashed var(--line);border-radius:9px;color:var(--muted);font-size:10px;text-align:center}.delivery-jobs>strong{display:block;font-size:11px;margin:4px 0 8px}.delivery-job{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:10px;margin-top:7px}.delivery-job>img{width:34px;height:34px;padding:6px;background:#edf2e3;border-radius:8px}.delivery-job>div{display:grid}.delivery-job small{font-size:7px;letter-spacing:.1em;color:var(--green);font-weight:800}.delivery-job strong{font-size:11px}.delivery-job span,.delivery-job em{font-size:8px;color:var(--muted);font-style:normal;margin-top:2px}.delivery-job>b{font-size:11px}.delivery-job>button{grid-column:1/-1;border:0;border-radius:7px;background:var(--green);color:#fff;padding:9px;font-size:9px;font-weight:800;cursor:pointer}.delivery-job>button:disabled{opacity:.4}.active-delivery{padding:12px;background:#edf2e3;border-radius:11px}.active-delivery>div{display:grid;grid-template-columns:38px 1fr auto;gap:9px;align-items:center}.active-delivery img{width:34px}.active-delivery span{display:grid}.active-delivery small{font-size:7px;letter-spacing:.1em;color:var(--green);font-weight:800}.active-delivery strong{font-size:12px}.active-delivery em{font-size:8px;color:var(--muted);font-style:normal}.active-delivery>i{display:block;height:7px;margin-top:9px;background:#d7dfc7;border-radius:99px;overflow:hidden}.active-delivery>i b{display:block;height:100%;background:linear-gradient(90deg,var(--orange),var(--green));transition:width .25s linear}
.live-board-dot{display:inline-block;width:7px;height:7px;margin-left:5px;border-radius:50%;background:#65a943;box-shadow:0 0 0 3px rgba(101,169,67,.14);animation:live-board-pulse 1.6s ease-in-out infinite}@keyframes live-board-pulse{50%{opacity:.35}}
@media(max-width:760px){.delivery-metrics{grid-template-columns:repeat(3,1fr)}.delivery-metrics div:nth-child(n+4){border-top:1px solid var(--line)}}
.farmer-metrics{grid-template-columns:repeat(6,1fr)}
@media(max-width:700px){.farmer-metrics{grid-template-columns:repeat(3,1fr)}}

/* Bakery role */
.bakery-metrics{grid-template-columns:repeat(3,1fr)}.bakery-metrics div:nth-child(n+4){border-top:1px solid var(--line)}.panel-content>section:first-child{max-height:520px;overflow:auto;padding-right:4px}.bakery-section{padding:12px;border:1px solid var(--line);border-radius:11px;margin-bottom:10px}.bakery-section h4{display:flex;justify-content:space-between;margin:0 0 9px;font:700 13px Georgia,serif}.bakery-section h4 span{font:800 8px Inter,sans-serif;color:var(--green)}.market-listing{display:grid;grid-template-columns:35px minmax(0,1fr) 58px;gap:8px;align-items:center;background:var(--cream);padding:9px;border-radius:9px;margin-top:7px}.market-listing>img{width:32px;padding:5px;background:#edf2e3;border-radius:7px}.market-listing>div{display:grid}.market-listing strong{font-size:10px}.market-listing small,.market-listing em{font-size:8px;color:var(--muted);font-style:normal;margin-top:2px}.market-listing input,.bread-listing-form input,.bread-listing input{min-width:0;width:100%;border:1px solid var(--line);border-radius:6px;padding:7px;background:var(--paper)}.market-listing button{grid-column:1/-1;border:0;border-radius:7px;padding:8px;background:var(--green);color:#fff;font-size:9px;font-weight:800}.market-listing button:disabled{opacity:.4}.bakery-progress{padding:10px;background:#edf2e3;border-radius:8px}.bakery-progress.idle{border:1px dashed var(--line);background:transparent;text-align:center;color:var(--muted);font-size:9px}.bakery-progress span{display:flex;justify-content:space-between;font-size:9px}.bakery-progress i{display:block;height:7px;background:#d7dfc7;border-radius:99px;overflow:hidden;margin-top:7px}.bakery-progress i b{display:block;height:100%;background:linear-gradient(90deg,var(--orange),var(--green));transition:width .25s}.baking-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:end;margin-top:8px}.baking-controls label{font-size:8px;color:var(--muted)}.baking-controls input{display:block;width:100%;margin-top:3px;border:1px solid var(--line);border-radius:6px;padding:7px}.baking-controls>b{font-size:9px;text-align:right}.baking-controls button{grid-column:1/-1;border:0;border-radius:7px;padding:9px;background:var(--green);color:#fff;font-size:9px;font-weight:800}.baking-controls button:disabled{opacity:.4}.bread-listing-form{display:grid;grid-template-columns:1fr 1fr;gap:7px}.bread-listing-form button{grid-column:1/-1;border:0;border-radius:7px;padding:8px;background:var(--green);color:#fff;font-size:9px;font-weight:800}.bread-listing-form button:disabled{opacity:.4}.bread-listing{display:grid;grid-template-columns:1fr 62px auto auto;gap:6px;align-items:center;margin-top:7px;padding-top:7px;border-top:1px solid var(--line)}.bread-listing span{display:grid}.bread-listing strong{font-size:9px}.bread-listing small{font-size:8px;color:var(--muted)}.bread-listing button{border:0;border-radius:6px;padding:7px;background:var(--green);color:#fff;font-size:8px;font-weight:800}.bread-listing button.cancel{background:#f5e7db;color:#a34f35}.bread-listing button:disabled{opacity:.35}.order-board{padding:11px;background:#edf2e3;border-radius:10px;margin:10px 0}.order-board>strong{font-size:10px;color:var(--green)}.order-board p{display:flex;justify-content:space-between;gap:8px;margin:8px 0 0;font-size:9px}.order-board p b{color:var(--green)}.developer-testing{border-top:1px solid var(--line);padding:16px 18px}.developer-testing h3{font:700 16px Georgia,serif;margin:3px 0 10px}.developer-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.developer-actions button{border:1px solid var(--line);background:var(--cream);color:var(--green);border-radius:7px;padding:8px;font-size:8px;font-weight:800}.developer-actions button.danger{background:#f5e7db;color:#a34f35}.admin-dialog{max-height:90vh}.admin-players{max-height:280px}
@media(max-width:600px){.bread-listing{grid-template-columns:1fr 55px}.bread-listing button{grid-row:2}.developer-actions{grid-template-columns:repeat(2,1fr)}}

/* Grocery Store role */
.grocery-metrics{grid-template-columns:repeat(4,1fr)}.grocery-metrics div:nth-child(n+5){border-top:1px solid var(--line)}.restock-notice{margin-bottom:9px;padding:9px;border-radius:8px;background:#f5e7db;color:#9b5239;font-size:9px;font-weight:800;text-align:center}.retail-price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;align-items:end}.retail-price-grid label,.retail-price-grid span{display:grid;font-size:8px;color:var(--muted)}.retail-price-grid input{margin-top:4px;width:100%;border:1px solid var(--line);border-radius:6px;padding:8px;background:var(--paper);color:var(--ink)}.retail-price-grid span{padding:7px;background:var(--cream);border-radius:7px}.retail-price-grid span strong{margin-top:3px;font-size:9px;color:var(--ink)}.retail-price-grid button{grid-column:1/-1;border:0;border-radius:7px;padding:9px;background:var(--green);color:#fff;font-size:9px;font-weight:800}.store-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:7px}.store-buttons button{border:1px solid var(--green);border-radius:7px;padding:8px;background:var(--paper);color:var(--green);font-size:8px;font-weight:800}.store-buttons button:disabled{opacity:.35}.customer-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.customer-summary span{display:grid;padding:8px;background:var(--cream);border-radius:7px}.customer-summary small{font-size:8px;color:var(--muted)}.customer-summary strong{font-size:10px;margin-top:3px}.recent-sales{margin-top:8px}.recent-sales p{display:flex;justify-content:space-between;margin:0;padding:6px 0;border-top:1px solid var(--line);font-size:8px}.grocery-orders article{padding:8px 0;border-top:1px solid #d7dfc7}.grocery-orders article:first-of-type{margin-top:7px}.grocery-orders article p{margin:0}.grocery-orders article>small{display:block;font-size:8px;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}.financial-summary{padding:11px;border:1px solid var(--line);border-radius:10px}.financial-summary>strong{font-size:10px;color:var(--green)}.financial-summary .metrics{display:grid;grid-template-columns:repeat(2,1fr);margin-top:8px;border:0;gap:6px;background:transparent}.financial-summary .metrics div{padding:8px;background:var(--cream);border-radius:7px}.financial-summary .metrics strong{font-size:11px}.financial-summary .metrics span{font-size:8px}
.delivery-notice{display:flex;align-items:center;gap:7px;max-width:330px;border:1px solid #bdd5a2;background:#edf5df;color:var(--green);padding:7px 9px;border-radius:9px;font-size:9px;font-weight:800;cursor:pointer}.delivery-notice[hidden]{display:none}.delivery-notice img{width:20px;height:20px}.delivery-notice span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delivery-notice b{display:grid;place-items:center;min-width:18px;height:18px;border-radius:50%;background:var(--green);color:#fff;font-size:8px}
@media(max-width:700px){.grocery-metrics{grid-template-columns:repeat(3,1fr)}.grocery-metrics div:nth-child(n+4){border-top:1px solid var(--line)}.retail-price-grid{grid-template-columns:1fr 1fr}.delivery-notice span{display:none}.delivery-notice{padding:7px}}

/* Version 1.1 business negotiations */
.business-inbox-button{display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--paper);color:var(--green);padding:7px 9px;border-radius:9px;font-size:9px;font-weight:800;cursor:pointer}.business-inbox-button[hidden]{display:none}.business-inbox-button img{width:19px;height:19px}.business-inbox-button b{display:grid;place-items:center;min-width:19px;height:19px;border-radius:50%;background:#dfe8d5;color:var(--green);font-size:8px}.business-inbox-button.has-attention{background:#fff2df;border-color:#e7bd82}.business-inbox-button.has-attention b{background:var(--orange);color:#fff}.panel-inbox-indicator{width:100%;display:flex;justify-content:space-between;align-items:center;border:1px solid #cbdcb6;background:#edf5df;color:var(--green);padding:10px;border-radius:10px;cursor:pointer}.panel-inbox-indicator span{display:grid;text-align:left}.panel-inbox-indicator strong{font-size:10px}.panel-inbox-indicator small{font-size:8px;color:var(--muted);margin-top:2px}.panel-inbox-indicator b{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--green);color:#fff;font-size:9px}.negotiation-listing{grid-template-columns:35px minmax(0,1fr) 88px 88px}.negotiation-listing label{font-size:7px;color:var(--muted)}.negotiation-listing label input{display:block;margin-top:3px}.negotiation-listing .opening-message{grid-column:2/-1}.negotiation-dialog{width:min(980px,calc(100% - 30px));max-height:92vh}.negotiation-dialog .dialog-header h2{font:700 22px Georgia,serif;margin:3px 0}.inbox-tabs{display:flex;gap:5px;padding:12px 15px;border-bottom:1px solid var(--line);overflow-x:auto}.inbox-tabs button{display:flex;align-items:center;gap:6px;white-space:nowrap;border:1px solid var(--line);background:var(--cream);color:var(--muted);padding:8px 9px;border-radius:8px;font-size:8px;font-weight:800;cursor:pointer}.inbox-tabs button.active{background:var(--green);border-color:var(--green);color:#fff}.inbox-tabs button b{display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:50%;background:rgba(255,255,255,.65);color:var(--green);font-size:7px}.inbox-content{padding:16px;min-height:300px;max-height:67vh;overflow:auto}.negotiation-cards{display:grid;gap:9px}.negotiation-card{display:grid;grid-template-columns:62px minmax(0,1fr) 145px;gap:13px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--paper)}.negotiation-card>img{width:60px;height:55px;object-fit:contain}.negotiation-card>div{display:grid}.negotiation-card div>small{font-size:7px;letter-spacing:.12em;color:var(--green);font-weight:800}.negotiation-card div>strong{font:700 15px Georgia,serif;margin:3px 0}.negotiation-card div>span,.negotiation-card div>em,.negotiation-card div>i{font-size:8px;color:var(--muted);font-style:normal;margin-top:2px}.negotiation-card div>i{color:var(--green);font-weight:800}.negotiation-card aside{display:grid;justify-items:end;gap:5px}.negotiation-card aside>b{font-size:8px;color:var(--green)}.negotiation-card time{font-size:7px;color:var(--muted)}.negotiation-card button{border:0;border-radius:7px;background:var(--green);color:#fff;padding:8px;font-size:8px;font-weight:800;cursor:pointer}.inbox-empty{text-align:center;padding:55px 20px;color:var(--muted)}.inbox-empty img{display:block;width:55px;margin:0 auto 10px}.inbox-empty strong{font:700 15px Georgia,serif;color:var(--ink)}.inbox-empty p{font-size:9px}.notification-list{display:grid;gap:7px}.notification-list button{display:flex;gap:9px;text-align:left;border:1px solid var(--line);background:var(--paper);padding:11px;border-radius:9px;color:var(--ink)}.notification-list button>i{width:7px;height:7px;margin-top:4px;border-radius:50%;background:#c7cec8}.notification-list button.unread>i{background:var(--orange)}.notification-list span{display:grid;font-size:9px}.notification-list small{color:var(--muted);font-size:7px;margin-top:3px}.negotiation-room{display:grid;grid-template-rows:auto minmax(220px,1fr) auto auto auto;max-height:78vh}.deal-summary{display:grid;grid-template-columns:1fr 1fr auto;gap:15px;align-items:center;padding:14px 18px;background:#edf2e3;border-bottom:1px solid var(--line)}.deal-summary>div{display:grid}.deal-summary small{font-size:7px;letter-spacing:.1em;color:var(--green);font-weight:800}.deal-summary strong{font:700 16px Georgia,serif;margin-top:3px}.deal-summary span{font-size:8px;color:var(--muted);margin-top:2px}.turn-indicator{padding:8px 10px;border-radius:99px;background:#dfe8d5;color:var(--green);font-size:8px}.turn-indicator.response{background:#fff0dc;color:#a85a2d}.negotiation-chat{padding:16px 18px;overflow:auto;background:linear-gradient(#fffdf8,#faf7ee);display:flex;flex-direction:column;gap:10px}.chat-message{display:flex;gap:8px;max-width:72%;align-self:flex-start}.chat-message.mine{align-self:flex-end;flex-direction:row-reverse}.chat-message>img{width:35px;height:35px;object-fit:contain}.chat-message>div{padding:9px 11px;border:1px solid var(--line);border-radius:3px 11px 11px;background:#fff}.chat-message.mine>div{background:#edf5df;border-radius:11px 3px 11px 11px}.chat-message small{font-size:7px;color:var(--muted)}.chat-message p{margin:4px 0 0;font-size:9px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}.chat-system{align-self:center;text-align:center;color:var(--muted);font-size:8px}.chat-system span{display:block;background:var(--cream);padding:5px 9px;border-radius:99px}.chat-system time{display:block;font-size:7px;margin-top:3px}.offer-card{align-self:flex-start;width:min(410px,85%);border:2px solid #c9d9b4;border-radius:12px;background:#fff;overflow:hidden}.offer-card.mine{align-self:flex-end}.offer-card header{display:flex;justify-content:space-between;background:#edf5df;padding:7px 10px;font-size:7px;letter-spacing:.1em;color:var(--green);font-weight:800}.offer-card>div{display:grid;padding:10px}.offer-card strong{font:700 14px Georgia,serif}.offer-card span,.offer-card em,.offer-card small{font-size:8px;color:var(--muted);font-style:normal;margin-top:2px}.offer-card p{border-top:1px solid var(--line);padding:8px 10px;margin:0;font-size:8px}.chat-composer{display:grid;grid-template-columns:1fr auto;gap:7px;padding:10px 16px;border-top:1px solid var(--line)}.chat-composer input,.counter-form input,.counter-form select,.decline-fields input,.decline-fields select{border:1px solid var(--line);border-radius:7px;background:var(--paper);padding:9px;color:var(--ink);min-width:0}.chat-composer button,.counter-form button{border:0;border-radius:7px;background:var(--green);color:#fff;padding:9px 12px;font-size:8px;font-weight:800}.room-actions{display:flex;gap:6px;flex-wrap:wrap;padding:10px 16px;border-top:1px solid var(--line)}.room-actions button{border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--green);padding:8px 10px;font-size:8px;font-weight:800}.room-actions button.accept{border-color:var(--green);background:var(--green);color:#fff}.room-actions button.decline{background:#f5e7db;color:#a34f35;border-color:#efd3c4}.counter-form{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:12px 16px;background:#f5f0e4;border-top:1px solid var(--line)}.counter-form h3{grid-column:1/-1;font:700 13px Georgia,serif;margin:0}.counter-form label{font-size:8px;color:var(--muted)}.counter-form label input{display:block;width:100%;margin-top:3px}.counter-form>p{font-size:8px;color:var(--muted)}.counter-form>#counter-message,.counter-form>button{grid-column:1/-1}.decline-fields{display:grid;grid-template-columns:1fr 2fr;gap:6px;padding:0 16px 12px}.decline-fields select,.decline-fields input{font-size:8px}
.workplace-live-inbox{display:grid;gap:7px}.workplace-delivery-action{display:grid;gap:2px;width:100%;padding:9px 11px;border:1px solid #d9b55d;border-radius:9px;background:#fff1c9;color:#654916;text-align:left;cursor:pointer}.workplace-delivery-action span{font-size:7px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.workplace-delivery-action strong{font-size:9px}.workplace-mail-preview{display:grid;gap:5px}.workplace-mail-preview>button,.workplace-mail-preview>div{display:flex;gap:7px;width:100%;box-sizing:border-box;text-align:left;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);padding:8px}.workplace-mail-preview>button{cursor:pointer}.workplace-mail-preview i{flex:0 0 7px;width:7px;height:7px;margin-top:3px;border-radius:50%;background:#bdc8bf}.workplace-mail-preview .unread i{background:var(--orange);box-shadow:0 0 0 3px #f7e4cf}.workplace-mail-preview span{display:grid;gap:2px;font-size:8px;line-height:1.35}.workplace-mail-preview small{font-size:7px;color:var(--muted)}.workplace-mail-preview>p{margin:0;padding:8px;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font-size:8px;text-align:center}.carrier-selection-screen{padding:18px;display:grid;gap:14px;max-height:76vh;overflow:auto}.carrier-selection-screen>header{padding:15px;border-radius:14px;background:#edf5df}.carrier-selection-screen>header small{font-size:7px;letter-spacing:.16em;color:var(--green);font-weight:900}.carrier-selection-screen>header h3{margin:4px 0;font:700 20px Georgia,serif;color:var(--ink)}.carrier-selection-screen>header p{margin:0;color:var(--muted);font-size:9px}.carrier-selection-orders{display:grid;gap:12px}.carrier-selection-orders>article{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(150px,1fr) 130px;gap:10px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.carrier-order-summary{display:flex;gap:12px;align-items:center;grid-row:span 2}.carrier-order-summary img{width:78px;height:65px;object-fit:contain}.carrier-order-summary span{display:grid}.carrier-order-summary small{font-size:7px;letter-spacing:.12em;color:var(--green);font-weight:900}.carrier-order-summary strong{font:700 16px Georgia,serif;margin:3px 0}.carrier-order-summary em{font-size:8px;color:var(--muted);font-style:normal}.carrier-selection-orders label{display:grid;gap:4px;color:var(--muted);font-size:8px}.carrier-selection-orders input,.carrier-selection-orders select{box-sizing:border-box;width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;background:#fff;padding:9px;color:var(--ink)}.carrier-selection-orders .carrier-message{grid-column:2/4}.carrier-selection-orders article>button{grid-column:2/4;border:0;border-radius:8px;background:var(--green);color:#fff;padding:10px;font-size:9px;font-weight:900}.carrier-selection-orders article>button:disabled{opacity:.5}.carrier-return{justify-self:start;border:1px solid var(--line);border-radius:8px;background:var(--cream);color:var(--green);padding:9px 12px;font-size:8px;font-weight:800}@media(max-width:720px){.carrier-selection-orders>article{grid-template-columns:1fr}.carrier-order-summary,.carrier-selection-orders .carrier-message,.carrier-selection-orders article>button{grid-column:1;grid-row:auto}}
.delivery-retry{display:grid;grid-template-columns:minmax(0,1fr) minmax(95px,.55fr);gap:7px;align-items:end;padding:9px;background:#fff2df;border-radius:9px}.delivery-retry>span{display:grid;grid-column:1/-1}.delivery-retry strong{font-size:9px}.delivery-retry small{font-size:8px;color:var(--muted)}.delivery-retry label{display:grid;gap:3px}.delivery-retry input,.delivery-retry select{box-sizing:border-box;width:100%;min-width:0;border:1px solid var(--line);border-radius:6px;background:var(--paper);padding:7px}.delivery-retry input[data-field="message"],.delivery-retry button{grid-column:1/-1}.delivery-retry button{border:0;border-radius:7px;background:var(--green);color:#fff;padding:8px;font-size:8px;font-weight:800}.delivery-retry button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:760px){.business-inbox-button span{display:none}.negotiation-card{grid-template-columns:48px 1fr}.negotiation-card>img{width:45px}.negotiation-card aside{grid-column:1/-1;display:flex;justify-content:flex-end;align-items:center}.deal-summary{grid-template-columns:1fr 1fr}.turn-indicator{grid-column:1/-1;text-align:center}.negotiation-listing{grid-template-columns:32px 1fr 70px}.negotiation-listing label:nth-of-type(2){grid-column:3}.negotiation-listing .opening-message{grid-column:1/-1}.chat-message{max-width:90%}}

/* Interactive Farmer scene */
dialog.farm-scene-dialog{width:min(1320px,calc(100% - 24px));max-height:96vh}.farm-scene-dialog .dialog-header{padding:11px 20px}.farm-scene-dialog .panel-title>img{width:58px;height:48px}.farm-scene-dialog .panel-title h2{font-size:20px}.farm-scene-dialog .farmer-metrics{grid-template-columns:repeat(10,1fr)}.farm-scene-dialog .metrics div{padding:10px 12px}.farm-scene-dialog .metrics strong{font-size:15px}.farm-scene-dialog .panel-content{grid-template-columns:minmax(0,1fr) 300px;gap:16px;padding:16px}.farm-scene-dialog .panel-content>section:first-child{max-height:none;overflow:visible;padding:0}.farm-scene-dialog #panel-description{min-height:0;margin:5px 0 10px;font-size:10px}.farm-scene-dialog #panel-controls{display:block}
.farm-experience{display:grid;gap:8px}.farm-hud{display:grid;grid-template-columns:repeat(4,minmax(80px,1fr)) minmax(150px,1.5fr);gap:6px}.farm-hud>span{display:grid;padding:8px 10px;border:1px solid var(--line);background:var(--cream);border-radius:10px}.farm-hud small{font-size:7px;letter-spacing:.08em;color:var(--muted);font-weight:800}.farm-hud strong{font-size:11px;margin-top:3px}.farm-hud .farm-status-chip{background:#edf5df;border-color:#c9dab4;color:var(--green)}
.farm-workspace{position:relative;border-radius:18px;overflow:hidden;background:#dbe9bb;box-shadow:inset 0 0 0 1px rgba(38,84,63,.12)}.farm-scene-svg{display:block;width:100%;height:auto;min-height:430px;touch-action:none;user-select:none}.farm-sky{fill:#cde8df}.farm-hill.hill-back{fill:#a9cb87}.farm-hill.hill-front{fill:#82b56c}.farm-road{fill:none;stroke:#ead6a9;stroke-width:64;stroke-linecap:round}.farm-path{fill:none;stroke:#dfc58f;stroke-width:24;stroke-linecap:round}.farm-building text,.farm-tool-rack text,.parcel-title,.parcel-value,.farm-bundle text{font-family:Inter,sans-serif;font-weight:800;fill:#285a43}.farm-building text{font-size:12px}.farm-building.interactive{cursor:pointer}.farm-building.interactive:hover{transform:translateY(-3px)}
.farm-tool-rack>rect{fill:rgba(255,253,248,.92);stroke:#285a43;stroke-width:4}.farm-tool-rack>text{font-size:15px}.farm-tool{cursor:pointer;outline:none}.farm-tool>rect{fill:#fffdf8;stroke:#b8c9ae;stroke-width:3;transition:.15s}.farm-tool>text{font-size:12px}.farm-tool:hover>rect,.farm-tool:focus-visible>rect{stroke:#ef9b58;stroke-width:5}.farm-tool.active>rect{fill:#fff0dc;stroke:#df7549;stroke-width:5}.farm-tool.active>text{fill:#a34f35}
.farm-parcel .parcel-ground{fill:#78a95e;stroke:#396d4a;stroke-width:4}.farm-parcel.locked{opacity:.7}.farm-parcel.locked .farm-cell{pointer-events:none}.parcel-title{font-size:12px}.parcel-value{font-size:9px}.farm-cell{cursor:pointer;outline:none}.farm-cell .cell-hit{fill:#719d56;stroke:rgba(255,255,255,.35);stroke-width:2;transition:fill .18s,stroke .18s}.farm-parcel.owned .farm-cell:hover .cell-hit,.farm-cell:focus-visible .cell-hit{stroke:#fff4b5;stroke-width:5}.farm-cell.state-tilled .cell-hit,.farm-cell.state-seeded .cell-hit,.farm-cell.state-cleared .cell-hit,.farm-cell.state-harvested .cell-hit{fill:#8a6037}.farm-cell.state-cleared .cell-hit{fill:#9a7248}.till-lines{fill:none;stroke:#5f3d24;stroke-width:2;opacity:0}.state-tilled .till-lines,.state-seeded .till-lines,.state-cleared .till-lines,.state-harvested .till-lines{opacity:.75}.seed-mark{fill:#4d3623;opacity:0}.farm-cell[data-stage="seeded"] .seed-mark{opacity:1}.plant-stage{opacity:0;transform-box:fill-box;transform-origin:bottom center}.farm-cell[data-stage="sprout"] .plant-stage.sprout{opacity:1;animation:farm-grow-in .35s ease-out}.farm-cell[data-stage="young"] .plant-stage.young{opacity:1;animation:farm-grow-in .35s ease-out}.farm-cell[data-stage="tall"] .plant-stage.tall{opacity:1;animation:farm-grow-in .35s ease-out}.farm-cell[data-stage="mature"] .plant-stage.mature{opacity:1;animation:wheat-sway 2.6s ease-in-out infinite alternate;transform-origin:bottom center}.farm-cell[data-stage="mature"] .cell-hit{fill:#84613a}.dirt-particles{fill:#6d492c;opacity:0}.farm-cell.valid-action .dirt-particles{animation:dirt-pop .5s ease-out}.farm-cell.valid-action .cell-hit{stroke:#fff6b0;stroke-width:6}.farm-cell.invalid-action{animation:farm-shake .28s}.farm-cell.invalid-action .cell-hit{stroke:#c84f42;stroke-width:6}.parcel-lock{cursor:pointer}.parcel-lock rect{fill:rgba(255,250,236,.96);stroke:#8b673c;stroke-width:4}.parcel-lock text{font:800 12px Inter,sans-serif;fill:#6c4a2b}.parcel-lock:hover rect,.parcel-lock:focus-visible rect{fill:#fff0d8;stroke:#df7549}
.farm-bundle{cursor:pointer;filter:drop-shadow(0 4px 3px rgba(55,52,24,.22));transition:transform .42s ease-in,opacity .42s;animation:bundle-pop .3s ease-out}.farm-scene-svg:not(.tool-hand) .farm-bundle{pointer-events:none}.farm-bundle:hover{filter:drop-shadow(0 0 6px #fff1a1)}.farm-bundle text{font-size:9px;fill:#fff}.farm-bundle.picked-up{filter:drop-shadow(0 0 8px #fff)}.farm-bundle.moving-to-silo{transform:translate(560px,-215px) scale(.4);opacity:0}
.farm-feedback{position:absolute;left:190px;right:18px;bottom:12px;padding:8px 12px;border-radius:9px;background:rgba(255,253,248,.92);color:var(--green);font-size:9px;font-weight:800;box-shadow:0 5px 14px rgba(35,61,44,.12);pointer-events:none}.farm-feedback.invalid{color:#a44337;background:rgba(255,236,226,.95)}.farm-compact-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.farm-compact-summary span{display:flex;justify-content:space-between;padding:7px 9px;border-radius:8px;background:#edf2e3;font-size:8px;color:var(--muted)}.farm-compact-summary b{color:var(--green)}
.farm-object-panel{position:absolute;z-index:5;top:66px;right:18px;width:min(285px,calc(100% - 36px));padding:15px;border:1px solid var(--line);border-radius:14px;background:rgba(255,253,248,.98);box-shadow:0 14px 35px rgba(33,63,44,.22)}.farm-object-panel[hidden]{display:none}.farm-object-panel>small{font-size:7px;letter-spacing:.12em;color:var(--green);font-weight:800}.farm-object-panel h3{font:700 18px Georgia,serif;margin:4px 0}.farm-object-panel p{font-size:9px;color:var(--muted);margin:4px 0 10px}.farm-object-panel label{font-size:8px;color:var(--muted)}.farm-object-panel input{display:block;width:100%;margin-top:4px;border:1px solid var(--line);border-radius:7px;padding:8px;background:var(--paper)}.farm-object-panel output{display:block;margin:8px 0;font-weight:800;color:var(--green)}.farm-popup-close{position:absolute;right:10px;top:9px;border:0;background:var(--cream);border-radius:50%;width:28px;height:28px;color:var(--green);font-size:18px}.farm-popup-action{width:100%;border:0;border-radius:8px;padding:9px;background:var(--green);color:#fff;font-size:9px;font-weight:800}.farm-popup-action:disabled{opacity:.4}.silo-stats{display:grid;grid-template-columns:1fr 1fr;gap:5px}.silo-stats span{display:flex;justify-content:space-between;padding:7px;background:var(--cream);border-radius:7px;font-size:8px}.listing-form.compact{margin-top:9px;padding:9px}.listing-form.compact>div{margin:6px 0}
.farm-drawer-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:var(--cream);color:var(--green);font-size:9px;font-weight:800}.farm-drawer-content{overflow:hidden}.farm-drawer-content.collapsed{display:none}.farm-drawer-summary{padding:11px;border:1px solid var(--line);border-radius:10px;margin:9px 0}.farm-drawer-summary h4{font:700 13px Georgia,serif;margin:0 0 7px}.farm-drawer-summary p{display:flex;justify-content:space-between;min-height:0!important;margin:0!important;padding:6px 0;border-top:1px solid var(--line);font-size:9px!important}.farm-drawer-summary p span{color:var(--muted)}.farm-drawer-inbox{display:flex;justify-content:space-between;width:100%;border:0;border-radius:9px;padding:10px;background:var(--green);color:#fff;font-size:9px;font-weight:800}.farm-drawer-inbox b{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#fff;color:var(--green)}
@keyframes farm-grow-in{from{opacity:0;transform:scaleY(.2)}to{opacity:1;transform:scaleY(1)}}@keyframes wheat-sway{from{transform:rotate(-2deg)}to{transform:rotate(2deg)}}@keyframes dirt-pop{0%{opacity:0;transform:translateY(8px)}40%{opacity:1}100%{opacity:0;transform:translateY(-9px)}}@keyframes farm-shake{25%{transform:translateX(-3px)}50%{transform:translateX(3px)}75%{transform:translateX(-2px)}}@keyframes bundle-pop{from{opacity:0;transform:scale(.4) rotate(-18deg)}to{opacity:1;transform:scale(1)}}
@media(max-width:1000px){.farm-scene-dialog .panel-content{grid-template-columns:1fr}.farm-scene-dialog .panel-content>section:last-child{display:grid;grid-template-columns:1fr 1fr;gap:10px}.farm-scene-dialog .panel-content>section:last-child .subheading,.farm-scene-dialog .panel-content>section:last-child #panel-transactions{grid-column:1/-1}.farm-scene-dialog .farmer-metrics{grid-template-columns:repeat(5,1fr)}.farm-scene-svg{min-height:400px}.farm-feedback{left:150px}.farm-hud{grid-template-columns:repeat(5,1fr)}}
@media(max-width:720px){.farm-scene-dialog .dialog-header{position:sticky;top:0;z-index:6;background:var(--paper)}.farm-scene-dialog .farmer-metrics{grid-template-columns:repeat(2,1fr)}.farm-scene-dialog .panel-content{padding:10px}.farm-hud{grid-template-columns:repeat(2,1fr)}.farm-hud .farm-status-chip{grid-column:1/-1}.farm-workspace{overflow-x:auto}.farm-scene-svg{width:850px;max-width:none;min-height:500px}.farm-feedback{position:sticky;left:0;right:0;bottom:0;border-radius:0}.farm-compact-summary{grid-template-columns:1fr 1fr}.farm-scene-dialog .panel-content>section:last-child{display:block}}
@media(prefers-reduced-motion:reduce){.farm-cell .plant-stage,.farm-cell[data-stage="mature"] .plant-stage.mature,.farm-bundle{animation:none!important;transition:none!important}}

/* Interactive Bakery production floor */
dialog.bakery-scene-dialog{width:min(1360px,calc(100% - 24px));max-height:96vh}.bakery-scene-dialog .dialog-header{padding:11px 20px}.bakery-scene-dialog .panel-title>img{width:58px;height:48px}.bakery-scene-dialog .panel-title h2{font-size:20px}.bakery-scene-dialog .bakery-v2-metrics{grid-template-columns:repeat(8,1fr)}.bakery-scene-dialog .metrics div{padding:9px 10px}.bakery-scene-dialog .metrics strong{font-size:14px}.bakery-scene-dialog .panel-content{grid-template-columns:minmax(0,1fr) 320px;gap:16px;padding:16px}.bakery-scene-dialog .panel-content>section:first-child{max-height:none;overflow:visible;padding:0}.bakery-scene-dialog #panel-description{min-height:0;margin:5px 0 10px;font-size:10px}.bakery-scene-dialog #panel-controls{display:block}
.bakery-experience{display:grid;gap:8px}.bakery-hud{display:grid;grid-template-columns:repeat(5,minmax(70px,1fr)) minmax(150px,1.6fr);gap:6px}.bakery-hud>span{display:grid;padding:8px 10px;border:1px solid var(--line);background:var(--cream);border-radius:10px}.bakery-hud small{font-size:7px;letter-spacing:.08em;color:var(--muted);font-weight:800}.bakery-hud strong{font-size:11px;margin-top:3px}.bakery-hud .bakery-status-chip{background:#fff0dc;border-color:#efc497;color:#9a542f}
.bakery-workspace{position:relative;border-radius:18px;overflow:hidden;background:#f7ead0;box-shadow:inset 0 0 0 1px rgba(91,62,37,.14)}.bakery-scene-svg{display:block;width:100%;height:auto;min-height:455px;touch-action:none;user-select:none}.bakery-flow-line,.bakery-flow-arrow{fill:none;stroke:#c58a56;stroke-width:5;stroke-dasharray:12 9;opacity:.55}.bakery-station{cursor:pointer;outline:none;transform-box:fill-box;transform-origin:center;transition:filter .15s,transform .15s}.bakery-station:hover,.bakery-station:focus-visible{filter:drop-shadow(0 0 7px rgba(240,145,74,.75));transform:translateY(-2px)}.bakery-station text{font:800 11px Inter,sans-serif;fill:#285a43;pointer-events:none}.station-progress-bg{fill:#e6dbc4}.station-progress{fill:#df7a4d;transition:width .2s linear}.mill-running .mill-wheel,.mill-running .mill-spokes{transform-box:fill-box;transform-origin:center;animation:bakery-spin 1.2s linear infinite}.mixer-running .mixer-arm{transform-box:fill-box;transform-origin:top center;animation:mixer-work .45s ease-in-out infinite alternate}.proofing-station.rising .proof-dough{animation:dough-breathe 1.5s ease-in-out infinite alternate}.oven-heating .oven-window{animation:oven-glow 1.2s ease-in-out infinite alternate}.bakery-oven.door-open .oven-door{transform-box:fill-box;transform-origin:left center;transform:scaleX(.16);opacity:.5}.bakery-product-token,[data-bakery-product]{cursor:grab;outline:none}.bakery-product-token:hover,.bakery-product-token:focus-visible{filter:drop-shadow(0 0 8px #fff4a8)}.bakery-product-token.picked-up,[data-bakery-product].picked-up{cursor:grabbing;filter:drop-shadow(0 0 10px #fff)}
.bakery-feedback{position:absolute;left:18px;right:18px;bottom:12px;padding:8px 12px;border-radius:9px;background:rgba(255,253,248,.94);color:var(--green);font-size:9px;font-weight:800;box-shadow:0 5px 14px rgba(69,49,30,.14);pointer-events:none}.bakery-feedback.invalid{color:#a44337;background:rgba(255,236,226,.96)}.bakery-compact-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.bakery-compact-summary span{display:flex;justify-content:space-between;padding:7px 9px;border-radius:8px;background:#fff0dc;font-size:8px;color:var(--muted)}.bakery-compact-summary b{color:#9a542f}
.bakery-object-panel{position:absolute;z-index:5;top:18px;right:18px;width:min(300px,calc(100% - 36px));padding:15px;border:1px solid #dbc7aa;border-radius:14px;background:rgba(255,253,248,.98);box-shadow:0 14px 35px rgba(69,49,30,.22)}.bakery-object-panel[hidden]{display:none}.bakery-object-panel>small{font-size:7px;letter-spacing:.12em;color:#a45d34;font-weight:800}.bakery-object-panel h3{font:700 18px Georgia,serif;margin:4px 0}.bakery-object-panel p{font-size:9px;color:var(--muted);margin:5px 0 10px}.bakery-object-panel label{display:block;font-size:8px;color:var(--muted);margin:7px 0}.bakery-object-panel input{display:block;width:100%;margin-top:4px;border:1px solid var(--line);border-radius:7px;padding:8px;background:var(--paper)}.bakery-object-panel output{display:block;margin:8px 0;font-weight:800;color:var(--green)}.bakery-object-panel button{border:0;border-radius:8px;padding:9px;background:var(--green);color:#fff;font-size:9px;font-weight:800}.bakery-object-panel button:disabled{opacity:.4}.bakery-popup-close{position:absolute;right:10px;top:9px!important;width:28px;height:28px;padding:0!important;border-radius:50%!important;background:var(--cream)!important;color:var(--green)!important;font-size:18px!important}.bakery-popup-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.bakery-popup-actions .primary{grid-column:1/-1;background:#df7a4d}.bakery-panel-stats{display:grid;grid-template-columns:1fr 1fr;gap:5px}.bakery-panel-stats span{display:flex;justify-content:space-between;padding:7px;background:var(--cream);border-radius:7px;font-size:8px}.bakery-popup-progress{height:8px;overflow:hidden;border-radius:99px;background:#e5ddcc;margin:10px 0}.bakery-popup-progress i{display:block;height:100%;background:#df7a4d}.bakery-popup-listings p{display:flex;justify-content:space-between;padding:6px 0;margin:0;border-top:1px solid var(--line);font-size:8px}.bakery-object-panel .bread-listing-form{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:9px 0}.bakery-object-panel .bread-listing-form button{grid-column:1/-1}
.bakery-drawer-content .bakery-section{margin:9px 0}.bakery-drawer-content .market-listing{grid-template-columns:32px minmax(0,1fr);padding:8px}.bakery-drawer-content .market-listing label,.bakery-drawer-content .market-listing input,.bakery-drawer-content .market-listing button{grid-column:1/-1}.bakery-cost-card,.bakery-production-log{padding:11px;border:1px solid var(--line);border-radius:10px;margin:9px 0}.bakery-cost-card h4,.bakery-production-log h4{font:700 13px Georgia,serif;margin:0 0 7px}.bakery-cost-card p,.bakery-production-log p{display:flex;justify-content:space-between;gap:8px;min-height:0!important;margin:0!important;padding:6px 0;border-top:1px solid var(--line);font-size:8px!important}.bakery-cost-card p span,.bakery-production-log p span{color:var(--muted)}.bakery-production-log time{white-space:nowrap;color:#a45d34}.bakery-drawer-content .bread-listing-form{grid-template-columns:1fr 1fr}.bakery-drawer-content .bread-listing-form button{grid-column:1/-1}
@keyframes bakery-spin{to{transform:rotate(360deg)}}@keyframes mixer-work{from{transform:rotate(-8deg)}to{transform:rotate(8deg)}}@keyframes dough-breathe{from{filter:drop-shadow(0 0 1px #efc783)}to{filter:drop-shadow(0 0 9px #efb151)}}@keyframes oven-glow{from{fill:#453b35}to{fill:#ba5e32}}
@media(max-width:1050px){.bakery-scene-dialog .panel-content{grid-template-columns:1fr}.bakery-scene-dialog .panel-content>section:last-child{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bakery-scene-dialog .panel-content>section:last-child .subheading,.bakery-scene-dialog .panel-content>section:last-child #panel-transactions{grid-column:1/-1}.bakery-scene-dialog .bakery-v2-metrics{grid-template-columns:repeat(4,1fr)}.bakery-hud{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.bakery-scene-dialog .dialog-header{position:sticky;top:0;z-index:6;background:var(--paper)}.bakery-scene-dialog .bakery-v2-metrics{grid-template-columns:repeat(2,1fr)}.bakery-scene-dialog .panel-content{padding:10px}.bakery-hud{grid-template-columns:repeat(2,1fr)}.bakery-hud .bakery-status-chip{grid-column:1/-1}.bakery-workspace{overflow-x:auto}.bakery-scene-svg{width:900px;max-width:none;min-height:500px}.bakery-feedback{position:sticky;left:0;right:0;bottom:0;border-radius:0}.bakery-compact-summary{grid-template-columns:1fr 1fr}.bakery-scene-dialog .panel-content>section:last-child{display:block}}
@media(prefers-reduced-motion:reduce){.mill-running .mill-wheel,.mill-running .mill-spokes,.mixer-running .mixer-arm,.proofing-station.rising .proof-dough,.oven-heating .oven-window{animation:none!important}.bakery-station{transition:none!important}}

/* Interactive Delivery garage and highway */
dialog.delivery-scene-dialog{width:min(1360px,calc(100% - 24px));max-height:96vh}.delivery-scene-dialog .dialog-header{padding:11px 20px}.delivery-scene-dialog .panel-title>img{width:58px;height:48px}.delivery-scene-dialog .delivery-v2-metrics{grid-template-columns:repeat(10,1fr)}.delivery-scene-dialog .metrics div{padding:9px 10px}.delivery-scene-dialog .metrics strong{font-size:14px}.delivery-scene-dialog .panel-content{grid-template-columns:minmax(0,1fr) 310px;gap:16px;padding:16px}.delivery-scene-dialog .panel-content>section:first-child{max-height:none;overflow:visible;padding:0}.delivery-scene-dialog #panel-description{min-height:0;margin:5px 0 10px;font-size:10px}.delivery-scene-dialog #panel-controls{display:block}
.delivery-garage-experience{display:grid;gap:8px}.delivery-hud{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr)) minmax(155px,1.5fr);gap:6px}.delivery-hud>span{display:grid;padding:8px 10px;border:1px solid var(--line);background:var(--cream);border-radius:10px}.delivery-hud small{font-size:7px;letter-spacing:.08em;color:var(--muted);font-weight:800}.delivery-hud strong{font-size:11px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.delivery-hud .delivery-status-chip{background:#e5f0e0;border-color:#bed5b4;color:var(--green)}
.delivery-garage-workspace{position:relative;border-radius:18px;overflow:hidden;background:#dfe9df;box-shadow:inset 0 0 0 1px rgba(38,84,63,.13)}.delivery-garage-svg{display:block;width:100%;height:auto;min-height:455px;touch-action:none;user-select:none}.delivery-garage-svg text{font:800 11px Inter,sans-serif;fill:#285a43}.delivery-garage-svg [data-delivery-object],.delivery-garage-svg [data-prepare-job],.delivery-garage-svg [data-delivery-cargo]{cursor:pointer;outline:none}.delivery-garage-svg [data-delivery-object]:hover,.delivery-garage-svg [data-delivery-object]:focus-visible,.delivery-garage-svg [data-prepare-job]:hover{filter:drop-shadow(0 0 7px rgba(239,139,85,.8))}.delivery-garage-svg .garage-door{transform-box:fill-box;transform-origin:top center;transition:transform .55s ease}.delivery-garage-svg.garage-open .garage-door{transform:scaleY(.08)}.garage-truck{transform-box:fill-box;transform-origin:center}.engine-running .garage-truck{animation:delivery-engine .16s linear infinite alternate}.engine-running .headlight{fill:#fff4a0;filter:drop-shadow(0 0 6px #fff)}.cargo-open .garage-truck .cargo-door{transform-box:fill-box;transform-origin:left center;transform:scaleX(.15)}.loaded-cargo{animation:cargo-slide .45s ease-out}.fuel-needle{transition:transform .35s}.delivery-garage-feedback{position:absolute;left:260px;right:18px;bottom:12px;padding:8px 12px;border-radius:9px;background:rgba(255,253,248,.94);color:var(--green);font-size:9px;font-weight:800;box-shadow:0 5px 14px rgba(35,61,44,.14);pointer-events:none}.delivery-garage-feedback.invalid{color:#a44337;background:rgba(255,236,226,.96)}
.delivery-object-panel{position:absolute;z-index:5;top:18px;right:18px;width:min(310px,calc(100% - 36px));padding:15px;border:1px solid var(--line);border-radius:14px;background:rgba(255,253,248,.98);box-shadow:0 14px 35px rgba(33,63,44,.22)}.delivery-object-panel[hidden]{display:none}.delivery-object-panel>small{font-size:7px;letter-spacing:.12em;color:var(--green);font-weight:800}.delivery-object-panel h3{font:700 18px Georgia,serif;margin:4px 0}.delivery-object-panel p{font-size:9px;color:var(--muted);margin:5px 0 10px}.delivery-object-panel label{display:block;font-size:8px;color:var(--muted);margin:7px 0}.delivery-object-panel input{display:block;width:100%;margin-top:4px;border:1px solid var(--line);border-radius:7px;padding:8px;background:var(--paper)}.delivery-object-panel output{display:block;margin:8px 0;font-weight:800;color:var(--green)}.delivery-object-panel button{border:0;border-radius:8px;padding:9px;background:var(--green);color:#fff;font-size:9px;font-weight:800}.delivery-object-panel button:disabled{opacity:.4}.delivery-popup-close{position:absolute;right:10px;top:9px!important;width:28px;height:28px;padding:0!important;border-radius:50%!important;background:var(--cream)!important;color:var(--green)!important;font-size:18px!important}.delivery-popup-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.delivery-panel-stats{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:8px 0}.delivery-panel-stats span{display:flex;justify-content:space-between;gap:5px;padding:7px;background:var(--cream);border-radius:7px;font-size:8px}.garage-job-card{display:grid;grid-template-columns:34px 1fr;gap:7px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}.garage-job-card img{width:32px}.garage-job-card span{display:grid}.garage-job-card strong{font-size:9px}.garage-job-card small,.garage-job-card em{font-size:7px;color:var(--muted);font-style:normal}.garage-job-card button{grid-column:1/-1}
.departure-checklist{display:grid;grid-template-columns:minmax(170px,.8fr) 1.3fr minmax(190px,1fr);gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--paper)}.departure-checklist small{font-size:7px;letter-spacing:.1em;color:var(--green);font-weight:800}.departure-checklist h3{font:700 14px Georgia,serif;margin:4px 0}.departure-checklist ul{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:0;padding:0;list-style:none}.departure-checklist li{display:flex;gap:5px;align-items:center;font-size:8px;color:var(--muted)}.departure-checklist li b{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#eee8dc;color:#8b8071}.departure-checklist li.done{color:var(--green);font-weight:800}.departure-checklist li.done b{background:#dcebd5;color:var(--green)}.departure-controls{display:grid;grid-template-columns:1fr 1fr;gap:5px}.departure-controls button{border:1px solid var(--line);border-radius:7px;padding:8px;background:var(--cream);color:var(--green);font-size:8px;font-weight:800}.departure-controls .depart{grid-column:1/-1;background:var(--green);color:#fff;border-color:var(--green)}.departure-controls button:disabled{opacity:.4}.delivery-compact-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.delivery-compact-summary span{display:flex;justify-content:space-between;padding:7px 9px;border-radius:8px;background:#eaf2e5;font-size:8px;color:var(--muted)}.delivery-compact-summary b{color:var(--green)}
.delivery-drawer .delivery-finances,.delivery-drawer .delivery-experience-log{padding:11px;border:1px solid var(--line);border-radius:10px;margin:9px 0}.delivery-drawer h4{font:700 13px Georgia,serif;margin:0 0 7px}.delivery-drawer p{display:flex;justify-content:space-between;gap:7px;min-height:0!important;margin:0!important;padding:6px 0;border-top:1px solid var(--line);font-size:8px!important}.delivery-drawer p span{color:var(--muted)}.delivery-drawer time{white-space:nowrap;color:var(--green)}
.delivery-highway[hidden]{display:none}.delivery-highway{position:fixed;inset:0;z-index:1000;display:grid;grid-template-rows:auto 1fr;background:#edf2e8;color:var(--ink)}body.highway-active{overflow:hidden}.highway-header{height:70px;display:flex;align-items:center;gap:20px;padding:8px 18px;background:var(--paper);border-bottom:1px solid var(--line)}.highway-header .brand{margin-right:auto}.highway-header>div{display:grid;min-width:230px}.highway-header>div small{font-size:7px;letter-spacing:.1em;color:var(--green);font-weight:800}.highway-header>div strong{font:700 15px Georgia,serif}.highway-header>div span{font-size:8px;color:var(--muted)}.highway-header>button{border:1px solid var(--line);border-radius:8px;background:var(--cream);color:var(--green);padding:9px 14px;font-size:9px;font-weight:800}.highway-main{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px;padding:12px}.highway-stage{position:relative;min-height:0;overflow:hidden;border-radius:18px;background:#82af71}.highway-scene-svg{display:block;width:100%;height:100%;max-height:calc(100vh - 94px);touch-action:none;user-select:none}.road-marks,.moving-scenery,.destination-sign{animation:road-scroll .9s linear infinite}.highway-scene-svg.shoulder .highway-truck{animation:highway-shake .18s linear infinite alternate}.highway-scene-svg text{font:800 14px Inter,sans-serif}.arrival-banner text{fill:var(--green)}.arrival-banner .arrival-name{font:700 30px Georgia,serif}.shoulder-warning,.out-of-fuel{position:absolute;left:50%;top:22px;transform:translateX(-50%);padding:9px 14px;border-radius:99px;background:#fff0dc;color:#a34f35;font-size:10px;font-weight:800;box-shadow:0 5px 18px rgba(0,0,0,.16)}.out-of-fuel{top:50%;width:280px;border-radius:14px;text-align:center}.out-of-fuel strong{font:700 22px Georgia,serif}.out-of-fuel p{font-size:9px}.out-of-fuel button{border:0;border-radius:7px;background:var(--green);color:#fff;padding:8px 12px;font-size:9px;font-weight:800}
.delivery-garage-experience .is-pending,.delivery-highway .is-pending{cursor:wait!important;opacity:.68!important;pointer-events:none!important}
.highway-dashboard{display:grid;align-content:start;gap:9px;overflow:auto}.route-card,.dashboard-fuel,.speedometer,.trip-progress,.driving-help,.unloading-controls{padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.route-card{display:grid}.route-card small,.dashboard-fuel small,.speedometer small,.trip-progress small,.unloading-controls small{font-size:7px;letter-spacing:.1em;color:var(--green);font-weight:800}.route-card strong{font:700 18px Georgia,serif;margin-top:3px}.route-card span{font-size:8px;color:var(--muted);margin-top:3px}.dashboard-fuel span{display:flex;justify-content:space-between}.dashboard-fuel strong{font-size:9px}.fuel-scale{position:relative;display:flex;justify-content:space-between;margin-top:20px;padding-top:7px;border-top:6px solid #dfe4d9}.fuel-scale i{position:absolute;top:-12px;width:4px;height:18px;background:#df7549;transform:translateX(-2px)}.fuel-scale b{font-size:7px;color:var(--muted)}.speedometer{text-align:center}.speedometer strong{font:700 46px Georgia,serif;color:var(--green)}.speedometer span{font-size:9px;color:var(--muted)}.trip-progress span{display:flex;justify-content:space-between}.trip-progress i{display:block;height:8px;margin-top:8px;overflow:hidden;border-radius:99px;background:#e2e5df}.trip-progress i b{display:block;height:100%;background:#df7549;transition:width .1s linear}.driving-help strong{font-size:9px;color:var(--green)}.driving-help p{font-size:8px;color:var(--muted)}.touch-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.touch-controls button{border:0;border-radius:8px;background:var(--green);color:#fff;padding:12px 4px;font-size:16px;touch-action:none}.unloading-controls h3{font:700 18px Georgia,serif;margin:5px 0}.unloading-controls p{font-size:9px}.unloading-controls button{width:100%;margin-top:6px;border:1px solid var(--line);border-radius:8px;background:var(--cream);color:var(--green);padding:10px;font-size:9px;font-weight:800}.unloading-controls button.unload{background:var(--green);color:#fff}.unloading-controls button:disabled{opacity:.4}
.delivery-complete-screen{display:grid;place-items:center;align-content:center;padding:30px;text-align:center}.delivery-complete-screen>img{width:180px}.delivery-complete-screen h1{font:700 38px Georgia,serif;margin:4px}.delivery-complete-screen>p{margin:3px;color:var(--muted)}.delivery-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr));gap:8px;width:min(720px,100%);margin:20px}.delivery-summary-grid span{display:grid;padding:13px;border:1px solid var(--line);border-radius:11px;background:var(--paper)}.delivery-summary-grid small{font-size:8px;color:var(--muted)}.delivery-summary-grid strong{font-size:16px;color:var(--green);margin-top:4px}.delivery-complete-screen>button{border:0;border-radius:9px;background:var(--green);color:#fff;padding:12px 22px;font-size:10px;font-weight:800}
@keyframes delivery-engine{from{transform:translate(380px,264px)}to{transform:translate(380px,266px)}}@keyframes cargo-slide{from{transform:translateX(-80px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes road-scroll{to{transform:translateY(95px)}}@keyframes highway-shake{from{transform:translateX(-3px)}to{transform:translateX(3px)}}
.loaded-cargo{animation:none;opacity:1}.road-marks,.moving-scenery,.destination-sign{animation:none}.road-marks path:first-child{animation:highway-center-lines .9s linear infinite}.road-marks path:not(:first-child){animation:highway-side-lines .9s linear infinite}.highway-scene-svg.shoulder .highway-truck{animation:none;filter:drop-shadow(0 0 10px #ffb14d)}@keyframes highway-center-lines{to{stroke-dashoffset:-97}}@keyframes highway-side-lines{to{stroke-dashoffset:-100}}
@media(max-width:1050px){.delivery-scene-dialog .panel-content{grid-template-columns:1fr}.delivery-scene-dialog .delivery-v2-metrics{grid-template-columns:repeat(5,1fr)}.delivery-hud{grid-template-columns:repeat(3,1fr)}.departure-checklist{grid-template-columns:1fr 1fr}.departure-controls{grid-column:1/-1}.highway-main{grid-template-columns:minmax(0,1fr) 250px}}
@media(max-width:760px){.delivery-scene-dialog .delivery-v2-metrics{grid-template-columns:repeat(2,1fr)}.delivery-hud{grid-template-columns:repeat(2,1fr)}.delivery-hud .delivery-status-chip{grid-column:1/-1}.delivery-garage-workspace{overflow-x:auto}.delivery-garage-svg{width:900px;max-width:none;min-height:500px}.delivery-garage-feedback{position:sticky;left:0;right:0;bottom:0;border-radius:0}.departure-checklist{grid-template-columns:1fr}.delivery-compact-summary{grid-template-columns:1fr 1fr}.highway-header .brand small,.highway-header>div span{display:none}.highway-header>div{min-width:0}.highway-main{grid-template-columns:1fr;overflow:auto}.highway-stage{min-height:520px}.highway-dashboard{grid-template-columns:1fr 1fr;overflow:visible}.driving-help,.unloading-controls{grid-column:1/-1}.delivery-summary-grid{grid-template-columns:1fr 1fr}}

dialog.grocery-scene-dialog{width:min(1420px,calc(100% - 24px));max-height:96vh}.grocery-scene-dialog .dialog-header{padding:10px 20px}.grocery-scene-dialog .panel-content{grid-template-columns:minmax(0,1fr) 320px;gap:16px;padding:16px}.grocery-scene-dialog .panel-content>section:first-child{max-height:none;overflow:visible;padding:0}.grocery-scene-dialog #panel-description{min-height:0;margin:5px 0 10px;font-size:10px}.grocery-scene-dialog .grocery-metrics{grid-template-columns:repeat(7,1fr)}.grocery-scene-dialog .metrics div{padding:9px}.grocery-scene-dialog .metrics strong{font-size:13px}.grocery-hud{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-bottom:8px}.grocery-hud span{display:grid;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--cream)}.grocery-hud small,.grocery-action-panel small{font-size:8px;font-weight:900;letter-spacing:.11em;color:var(--green)}.grocery-hud strong{font-size:12px;margin-top:4px}.grocery-scene-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:10px}.grocery-store-svg{display:block;width:100%;min-height:500px;border-radius:18px;background:#e9efe2}.grocery-store-svg text{font-family:Arial,sans-serif;font-size:14px;font-weight:800;fill:#285a43}.grocery-scene-tip{margin:0;padding:9px 12px;border-radius:0 0 12px 12px;background:#285a43;color:#fff;font-size:9px}.grocery-action-panel{display:grid;gap:8px;align-content:start}.grocery-action-panel section{padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.grocery-action-panel h3{margin:5px 0 8px;font:700 16px Georgia,serif}.grocery-action-panel label{display:grid;gap:4px;font-size:9px;color:var(--muted)}.grocery-action-panel input{width:100%;padding:8px;border:1px solid var(--line);border-radius:7px}.grocery-action-panel button{width:100%;margin-top:7px;padding:8px;border:0;border-radius:7px;background:var(--green);color:#fff;font-size:9px;font-weight:900}.grocery-action-panel button:disabled{opacity:.35}.grocery-button-row{display:grid;grid-template-columns:1fr 1fr;gap:6px}.grocery-mini-stats{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:7px}.grocery-mini-stats span{display:grid;padding:6px;background:var(--cream);font-size:8px}.grocery-action-panel p{font-size:8px;color:var(--muted)}.checkout-card.ready{border-color:#6ba857;box-shadow:0 0 0 3px rgba(107,168,87,.18)}.grocery-feedback p{display:grid;grid-template-columns:70px 1fr;gap:5px;margin:0;padding:5px 0;border-top:1px solid var(--line);font-size:8px}.grocery-feedback p:first-child{border:0}.queue-markers circle{fill:none;stroke:#8c806b;stroke-width:3;stroke-dasharray:4 4}.checkout-ready{animation:checkoutPulse 1s ease-in-out infinite}.npc-customer{transition:transform .65s ease}.npc-customer use{transform-origin:center}.state-evaluating-price use{animation:browseNod .8s ease-in-out infinite alternate}.customer-speech text{font-size:9px}.delivery-received-pop{animation:deliveryPop 1.8s ease both}.store-open .front-door.left{transform:translateX(-18px)}.store-open .front-door.right{transform:translateX(18px)}.front-door{transition:transform .35s}.stock-cart{animation:cartWiggle 1.2s ease-in-out infinite alternate}@keyframes checkoutPulse{50%{filter:brightness(1.15)}}@keyframes browseNod{to{transform:translateY(3px)}}@keyframes deliveryPop{0%{opacity:0;transform:translateY(15px)}25%,75%{opacity:1;transform:none}100%{opacity:0}}@keyframes cartWiggle{to{transform:translate(276px,360px)}}
@media(max-width:1050px){.grocery-scene-dialog .panel-content{grid-template-columns:1fr}.grocery-scene-layout{grid-template-columns:1fr}.grocery-action-panel{grid-template-columns:repeat(2,1fr)}.grocery-hud{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.grocery-scene-dialog .grocery-metrics{grid-template-columns:repeat(2,1fr)}.grocery-hud{grid-template-columns:repeat(2,1fr)}.grocery-scene-layout>div:first-child{overflow-x:auto}.grocery-store-svg{width:900px;max-width:none}.grocery-action-panel{grid-template-columns:1fr}}
/* Build 128 · top-down grocery store */
.grocery-scene-dialog #panel-metrics{display:none}.grocery-scene-dialog #panel-description{color:#65766e}.grocery-topdown-experience{display:grid;gap:10px}.grocery-topdown-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:12px}.grocery-map-wrap{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#bdd6b5;box-shadow:0 8px 24px #244c3414}.grocery-topdown-map{min-height:0;aspect-ratio:11/7.2;border-radius:20px;background:#bdd6b5}.grocery-topdown-map .floor-grid{fill:none;stroke:#cfbea1;stroke-width:2;opacity:.3}.grocery-topdown-map text{font-size:12px;letter-spacing:.025em}.grocery-map-area{cursor:pointer;outline:none;transform-box:fill-box;transform-origin:center;transition:filter .16s,transform .16s}.grocery-map-area:hover,.grocery-map-area:focus{filter:drop-shadow(0 0 8px #df754999);transform:scale(1.012)}.grocery-map-area.selected{filter:drop-shadow(0 0 9px #df7549)}.grocery-map-area.selected>rect:first-child{stroke:#df7549}.topdown-shelf>text:first-of-type{font-size:11px}.topdown-shelf>text:last-of-type{font-size:9px}.grocery-map-header [data-grocery-area]{cursor:pointer}.grocery-map-header [data-grocery-area]:hover rect{filter:brightness(1.08)}.topdown-entrance{pointer-events:none}.grocery-topdown-map .front-door{transform-box:fill-box}.grocery-topdown-map.store-open .front-door.left{transform:translateX(-13px)}.grocery-topdown-map.store-open .front-door.right{transform:translateX(13px)}.grocery-context-panel{display:grid;grid-template-columns:1fr;gap:9px;max-height:640px;overflow:auto;padding-right:2px}.grocery-context-panel section,.grocery-context-card{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:0 5px 16px #244c340d}.grocery-context-panel h3{margin:5px 0 9px;font:700 20px Georgia,serif}.grocery-context-panel p{font-size:10px;line-height:1.45}.grocery-context-panel label{margin-top:9px;font-size:9px;font-weight:800}.grocery-context-panel input{font-size:12px}.grocery-context-panel button{padding:10px;font-size:9px;cursor:pointer}.grocery-context-panel .grocery-context-back{width:auto;margin:0 0 9px;padding:7px 10px;background:#e6eee5;color:var(--green)}.grocery-context-stock{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}.grocery-context-stock span{display:grid;padding:9px;border-radius:10px;background:var(--cream)}.grocery-context-stock small{font-size:7px}.grocery-context-stock b{margin-top:3px;color:var(--ink)}.grocery-map-key{display:grid;gap:6px;margin-top:10px}.grocery-map-key span{display:flex;align-items:center;gap:8px;padding:7px;border-radius:8px;background:var(--cream);font-size:9px;font-weight:800}.grocery-map-key i{width:10px;height:10px;border-radius:3px}.key-price{background:#f3d59a}.key-stock{background:#d8eeee}.key-checkout{background:#7ca58f}.grocery-next-action{background:#df7549!important}.stockroom-product-list{display:grid;gap:7px}.stockroom-product-list article{display:grid;grid-template-columns:minmax(0,1fr) 55px 54px;align-items:center;gap:6px;padding:8px;border-radius:10px;background:var(--cream)}.stockroom-product-list article span{display:grid}.stockroom-product-list article small{font-size:7px;letter-spacing:0;color:var(--muted)}.stockroom-product-list input{margin:0;padding:7px}.stockroom-product-list button{margin:0;padding:8px 5px}.grocery-context-note{padding:8px;border-radius:8px;background:#fff0d7;color:#82562a!important}.grocery-topdown-map .queue-path circle{fill:none;stroke:#8c806b;stroke-width:3;stroke-dasharray:4 4}.topdown-customer{filter:drop-shadow(0 3px 3px #285a4340)}.topdown-customer use{transform-origin:center}.grocery-topdown-map .customer-speech text{font-size:8px}.grocery-topdown-map .register-guide text{font-size:10px}.grocery-topdown-map .checkout-counter{cursor:pointer}.grocery-topdown-map .checkout-counter:hover{filter:brightness(1.05)}
@media(max-width:1120px){.grocery-topdown-layout{grid-template-columns:1fr}.grocery-context-panel{max-height:none;grid-template-columns:repeat(2,minmax(0,1fr))}.grocery-context-panel .stockroom-editor,.grocery-context-panel .shelf-editor{grid-column:1/-1}}
@media(max-width:760px){.grocery-map-wrap{overflow-x:auto}.grocery-topdown-map{width:900px;max-width:none}.grocery-context-panel{grid-template-columns:1fr}.grocery-context-panel .stockroom-editor,.grocery-context-panel .shelf-editor{grid-column:auto}.stockroom-product-list article{grid-template-columns:1fr 60px}.stockroom-product-list article button{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.npc-customer,.front-door{transition:none}.checkout-ready,.state-evaluating-price use,.stock-cart,.delivery-received-pop{animation:none}}
@media(prefers-reduced-motion:reduce){.engine-running .garage-truck,.loaded-cargo,.road-marks,.moving-scenery,.destination-sign,.highway-scene-svg.shoulder .highway-truck{animation:none!important}.delivery-garage-svg .garage-door{transition:none!important}}
.engine-repair-game{position:absolute;inset:24px;display:grid;align-content:center;gap:10px;padding:18px 24px;border:5px solid #285a43;border-radius:22px;background:rgba(255,253,248,.97);color:#183b30;box-shadow:0 14px 40px rgba(20,45,35,.3)}.engine-repair-game>header{display:flex;align-items:center;justify-content:space-between}.engine-repair-game header span{display:grid}.engine-repair-game small{font-size:9px;letter-spacing:.14em;color:#36725b;font-weight:900}.engine-repair-game strong{font:700 28px Georgia,serif}.engine-repair-game p{margin:0;color:#66756e;font-size:11px}.engine-repair-game>button{justify-self:start;border:0;border-radius:11px;padding:13px 18px;background:#d9734d;color:#fff;font-weight:900;cursor:pointer}.engine-repair-game svg{width:100%;max-height:330px}.repair-part{color:#7c8982;fill:#bdc5bf;stroke:#52645b;stroke-width:7;transition:filter .15s,transform .15s;transform-box:fill-box;transform-origin:center}.repair-part text{fill:#183b30;stroke:none;font:900 13px Inter,sans-serif}.repair-part.current{fill:#f3c55a;stroke:#c36b45;cursor:pointer;filter:drop-shadow(0 0 9px #f0a654)}.repair-part.current:hover,.repair-part.current:focus{transform:scale(1.04);outline:none}.repair-part.complete{fill:#77b578;stroke:#285a43}.repair-part.locked{opacity:.45}.engine-repair-game ol{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:0;padding:0;list-style:none}.engine-repair-game li{display:flex;align-items:center;gap:6px;padding:8px;border-radius:9px;background:#e8ebe6;color:#78847e;font-size:9px;font-weight:800}.engine-repair-game li b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#cbd2cd}.engine-repair-game li.current{background:#fff0c8;color:#7d561c}.engine-repair-game li.complete{background:#dceedd;color:#285a43}.repair-payment{inset:auto;left:50%;top:50%;width:min(430px,calc(100% - 40px));transform:translate(-50%,-50%)}
.road-marks path:first-child,.road-marks path:not(:first-child){animation:none}.destination-approach{transition:transform .12s linear,opacity .12s linear;transform-box:view-box;transform-origin:0 0}.highway-truck{transition:transform .08s linear}.destination-dock-scene{display:block;width:100%;height:100%;max-height:calc(100vh - 94px);background:#cfe7df}.destination-dock-scene text{font:800 14px Inter,sans-serif;fill:#285a43}.dock-cargo{opacity:.58;transition:opacity .2s,filter .2s}.dock-cargo.ready{opacity:1;filter:drop-shadow(0 0 10px #fff2a8)}.dock-arrival-banner text:first-of-type{font:700 25px Georgia,serif}.dock-arrival-banner text:last-of-type{font-size:12px;fill:#61766b}.highway-main.at-destination .speedometer strong{font-size:30px}.highway-main.at-destination .speedometer strong:after{content:' PARKED';font:800 8px Inter,sans-serif;color:var(--muted)}
.side-road-scene .side-view-truck{transition:transform .08s linear;filter:drop-shadow(0 7px 5px rgba(32,50,40,.22))}.side-road-scene .destination-building{filter:drop-shadow(0 7px 4px rgba(32,50,40,.18))}.side-road-scene .road-distance-markers text{font-size:10px;fill:#f8efcf;letter-spacing:.12em}.touch-controls.side-driving-controls{grid-template-columns:2fr 1fr}.touch-controls.side-driving-controls button{font-size:10px;font-weight:800}.destination-dock-scene .dock-truck{filter:drop-shadow(0 7px 5px rgba(32,50,40,.24))}
.long-road-world{will-change:transform}.road-map-section .boundary-sign text{font-size:9px}.road-section-chip{filter:drop-shadow(0 4px 5px rgba(32,50,40,.18))}.road-section-chip text{font-size:11px;letter-spacing:.08em}.side-road-scene .destination-building text{font-size:11px}
/* Clickable grocery register */
.checkout-counter.register-action{cursor:pointer}.checkout-counter.register-action:hover{filter:brightness(1.08)}.register-guide{pointer-events:none;animation:registerGuide 1s ease-in-out infinite alternate}.register-guide text{font-size:11px}.register-action:focus{outline:none;filter:drop-shadow(0 0 7px #df7549)}@keyframes registerGuide{to{transform:translateY(5px)}}@media(prefers-reduced-motion:reduce){.register-guide{animation:none}}
/* Farmer workspace modes */
.active-property-workspace{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:12px;margin-bottom:12px;padding:12px 15px;border:2px solid #79a389;border-radius:16px;background:linear-gradient(110deg,#e5f1df,#fff9e9);color:#173e34;box-shadow:0 7px 18px #285a4312}.active-property-workspace span{display:grid;padding-right:12px;border-right:1px solid #a9c2ac}.active-property-workspace small{color:#347158;font-size:8px;font-weight:900;letter-spacing:.12em}.active-property-workspace strong{font:700 18px Georgia,serif}.active-property-workspace>b{font-size:12px}.active-property-workspace em{color:#61766b;font-size:10px;font-style:normal}.farm-mode-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:10px;margin-bottom:12px;border:1px solid #cbd8c5;border-radius:18px;background:#eef3e9}.farm-mode-switch button{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;text-align:left;padding:12px 16px;border:1px solid transparent;border-radius:13px;background:transparent;color:#315f4d;cursor:pointer}.farm-mode-switch button span{grid-row:1/3;font-size:25px}.farm-mode-switch button b{font-size:14px}.farm-mode-switch button small{color:#6b7c73}.farm-mode-switch button.active{background:#fffdf8;border-color:#7ba08f;box-shadow:0 7px 18px #285a4317}.farm-mode-switch button.active b{color:#173e34}.farm-mode-stage.ranch-mode .livestock-experience{margin-top:0}.farm-mode-stage{min-height:520px}.farm-mode-stage.ranch-mode{padding:2px}.farm-mode-stage.crop-mode{animation:farm-mode-in .18s ease-out}.farm-mode-stage.ranch-mode{animation:farm-mode-in .18s ease-out}@keyframes farm-mode-in{from{opacity:.25;transform:translateY(5px)}to{opacity:1;transform:none}}@media(max-width:760px){.active-property-workspace{grid-template-columns:1fr}.active-property-workspace span{padding:0;border:0}.farm-mode-switch{grid-template-columns:1fr}.farm-mode-switch button{padding:10px 13px}}
/* Ranch breeding */
.breeding-card{grid-column:1/-1}.breeding-pen-svg{margin:.65rem 0;border-radius:14px;overflow:hidden}.breeding-pen-svg svg{display:block;width:100%;max-height:220px}.breeding-hearts text{fill:#dd5e72;font:700 34px Georgia,serif;transform-box:fill-box;transform-origin:center;animation:breeding-heart-pop .75s ease-in-out infinite alternate}.breeding-hearts text:nth-child(2){animation-delay:.18s}.breeding-hearts text:nth-child(3){animation-delay:.34s}.breeding-card .feed-breeding-pair{margin-left:.45rem;background:#b14f65}.breeding-card .breeding-remove{padding:.3rem .55rem;background:#fff;color:#9d4d54;border:1px solid #d5a1a5}.breeding-success{box-shadow:0 0 0 4px #f3b7c455}@keyframes breeding-heart-pop{from{opacity:.45;transform:translateY(8px) scale(.75)}to{opacity:1;transform:translateY(-8px) scale(1.15)}}@media(prefers-reduced-motion:reduce){.breeding-hearts text{animation:none}}
/* Build 38 · modular livestock experience */
.livestock-experience{margin-top:1rem;padding:1rem;border:1px solid #cbd8c5;border-radius:20px;background:#f9f6ed;color:#173e34}.livestock-title{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.livestock-title small,.livestock-card>small{color:#39735d;font-weight:800;letter-spacing:.12em}.livestock-title h4,.livestock-card h5{font-family:Georgia,serif;margin:.15rem 0;font-size:1.35rem}.livestock-title p{margin:0;color:#60766d}.livestock-title>span{padding:.55rem .8rem;border-radius:999px;background:#deecd8;font-weight:800}.livestock-barn-svg{display:block;width:100%;height:auto;border-radius:18px}.livestock-barn-svg .svg-label,.milking-station .svg-label{fill:#245c49;font:800 15px system-ui}.livestock-barn-svg .svg-empty{fill:#658178;font:800 22px Georgia}.livestock-barn-svg .cow-tag{fill:#173e34;font:800 10px system-ui}.livestock-barn-svg .milk-ready-icon{font-size:20px}.svg-clickable{cursor:pointer}.svg-clickable:hover{filter:brightness(1.04)}.livestock-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:.8rem}.livestock-card{padding:1rem;border:1px solid #d4ddd0;border-radius:16px;background:#fffdf8;box-shadow:0 8px 22px #244c3410}.livestock-card p{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid #e1e6dc;padding:.42rem 0;margin:0}.baby-cow-preview{display:flex;align-items:center;gap:.6rem;padding:.5rem 0}.baby-cow-preview svg{width:100px;background:#e5f0e2;border-radius:12px}.baby-cow-preview div{display:grid}.livestock-card button{border:0;border-radius:10px;padding:.65rem .8rem;background:#2e765c;color:#fff;font-weight:800;cursor:pointer}.livestock-card button:disabled{opacity:.4;cursor:not-allowed}.cow-progress{margin:.5rem 0}.cow-progress i{display:block;height:8px;border-radius:9px;background:#e2e5dc;overflow:hidden}.cow-progress i b{display:block;height:100%;background:#e1b64f}.cow-progress small{color:#687b72}.cow-actions,.livestock-form{display:flex;gap:.5rem;margin-top:.8rem}.cow-actions .danger-outline{background:#fff;color:#a34d3e;border:1px solid #bd6c5d}.slaughter-confirm{padding:.75rem;margin-top:.8rem;border-radius:12px;background:#fff0e8;border:1px solid #dc9b83}.slaughter-confirm p{display:block;border:0}.slaughter-confirm .danger{background:#a84939}.milking-station{padding:.7rem;margin-top:.8rem;border-radius:14px;background:#eaf3e8}.milking-station svg{width:100%;max-height:180px}.udder-pull{touch-action:none}.livestock-form input,.carcass-listing-row input{min-width:0;width:100%;border:1px solid #cbd6cb;border-radius:9px;padding:.55rem}.carcass-listing-row{display:grid;grid-template-columns:minmax(110px,1fr) 130px auto;align-items:end;gap:.45rem;padding:.55rem 0}.carcass-listing-row label{display:grid;gap:.2rem;color:#60766d;font-size:.68rem;font-weight:800}.livestock-events{margin-top:.8rem;padding:.8rem;border-radius:14px;background:#e6efdf}.livestock-events p{margin:.25rem 0;color:#536a60}.bakery-departments{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:.8rem}.meat-receiving-card{padding:1rem;border-radius:16px;background:#e5efeb;border:1px solid #c3d5cc}.meat-receiving-card h4{font-family:Georgia,serif;margin:.2rem 0}.meat-receiving-card p{display:flex;justify-content:space-between}.future-processing{padding:.7rem;border:2px dashed #7ba08f;border-radius:10px;text-align:center;font-weight:800}.milk-market-card img{width:48px}@media(max-width:760px){.livestock-grid,.bakery-departments{grid-template-columns:1fr}.livestock-title{display:block}.livestock-title>span{display:inline-block;margin-top:.5rem}.carcass-listing-row{grid-template-columns:1fr 120px}.carcass-listing-row button{grid-column:1/-1}}
/* Food Processor departments and meat processing */
.food-processor-departments{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px;margin-bottom:12px;border:1px solid #cbd8c5;border-radius:18px;background:#eef3e9}.food-processor-departments button{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;text-align:left;padding:12px 16px;border:1px solid transparent;border-radius:13px;background:transparent;color:#315f4d;cursor:pointer}.food-processor-departments button span{grid-row:1/3;font-size:25px}.food-processor-departments button b{font-size:14px}.food-processor-departments button small{color:#6b7c73}.food-processor-departments button.active{background:#fffdf8;border-color:#7ba08f;box-shadow:0 7px 18px #285a4317}
.food-processor-stage{min-height:500px}.meat-processing-experience{display:grid;gap:10px}.meat-hud{display:grid;grid-template-columns:repeat(6,minmax(90px,1fr));gap:6px}.meat-hud span{display:grid;padding:8px 10px;border:1px solid var(--line);background:var(--cream);border-radius:10px}.meat-hud small{font-size:7px;letter-spacing:.08em;color:var(--muted);font-weight:800}.meat-hud strong{font-size:10px;margin-top:3px}
.meat-workspace{position:relative;border-radius:18px;overflow:hidden;background:#e8f0e8}.meat-processing-svg{display:block;width:100%;height:auto;min-height:455px;touch-action:none;user-select:none}.meat-processing-svg text{font:800 11px Inter,sans-serif;fill:#285a43}.meat-carcass{cursor:grab;outline:none}.meat-carcass:hover,.meat-carcass.selected{filter:drop-shadow(0 0 8px #df7549)}
.processor-carcass-market{grid-column:1/-1;margin-top:.85rem;padding:1rem;border:2px solid #8eb39d;border-radius:16px;background:#edf5e9}.processor-carcass-market>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.65rem}.processor-carcass-market>header span{display:grid}.processor-carcass-market>header small{color:#39735d;font-weight:900;letter-spacing:.12em}.processor-carcass-market>header strong{font:700 1.3rem Georgia,serif;color:#173e34}.processor-carcass-market>header>b{display:grid;place-items:center;min-width:2.25rem;height:2.25rem;border-radius:999px;background:#2e765c;color:#fff}.processor-carcass-market>p{margin:0;color:#61766d}.processor-carcass-market .negotiation-listing{display:grid;grid-template-columns:minmax(180px,1.4fr) 90px 120px minmax(160px,1fr) auto;align-items:end;gap:.55rem;padding:.75rem;border-radius:12px;background:#fffdf8}.processor-carcass-market .negotiation-listing>span{display:grid}.processor-carcass-market label{display:grid;gap:.2rem;color:#60766d;font-size:.72rem;font-weight:800}.processor-carcass-market input{min-width:0;width:100%;padding:.58rem;border:1px solid #cbd6cb;border-radius:9px}.processor-carcass-market button{border:0;border-radius:10px;padding:.7rem .9rem;background:#2e765c;color:#fff;font-weight:800;cursor:pointer}@media(max-width:900px){.processor-carcass-market .negotiation-listing{grid-template-columns:1fr 1fr}.processor-carcass-market .negotiation-listing>span,.processor-carcass-market .negotiation-listing>[data-field="message"],.processor-carcass-market .negotiation-listing>button{grid-column:1/-1}}
.processor-incoming-carcasses{display:grid;gap:.5rem;margin-top:.85rem;padding:.8rem;border:1px solid #d3b86f;border-radius:12px;background:#fff5d9}.processor-incoming-carcasses>strong{color:#76551c}.processor-incoming-carcasses article{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:1rem;padding:.65rem;border-radius:9px;background:#fffdf8}.processor-incoming-carcasses article span{display:grid}.processor-incoming-carcasses article small{color:#68796f}.processor-incoming-carcasses article em{padding:.35rem .55rem;border-radius:999px;background:#ead397;color:#654812;font-style:normal;font-weight:800}.processor-incoming-carcasses>p{margin:0;color:#755f36;font-size:.82rem}.carcass-status-row b{color:#2e765c}.carcass-status-row.reserved b{color:#9a6727}@media(max-width:700px){.processor-incoming-carcasses article{grid-template-columns:1fr}.processor-incoming-carcasses article em{justify-self:start}}
.processing-active .privacy-screen{animation:meat-screen-pulse 1s ease-in-out infinite alternate}.tool-motion{animation:meat-tools .4s ease-in-out infinite alternate}.packaging-active .sealer{animation:meat-sealer .35s ease-in-out infinite alternate}.meat-feedback{position:absolute;left:18px;right:18px;bottom:12px;padding:8px 12px;border-radius:9px;background:#fffdf8ee;color:var(--green);font-size:9px;font-weight:800}
.meat-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.meat-controls section{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fffdf8}.meat-controls small{font-size:7px;letter-spacing:.1em;color:var(--green);font-weight:800}.meat-controls h3{font:700 16px Georgia,serif;margin:5px 0}.meat-controls p{display:flex;justify-content:space-between;margin:5px 0;font-size:9px}.meat-controls label{display:grid;gap:4px;margin:7px 0;font-size:8px;color:var(--muted)}
.meat-controls input,.meat-controls select{width:100%;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}.meat-controls button{width:100%;margin-top:6px;padding:9px;border:0;border-radius:8px;background:var(--green);color:#fff;font-size:9px;font-weight:800}.meat-controls button:disabled{opacity:.4}.beef-display-case{filter:drop-shadow(0 3px 3px #285a4320)}
@keyframes meat-screen-pulse{to{fill:#416d59}}@keyframes meat-tools{to{transform:translateY(6px)}}@keyframes meat-sealer{to{transform:translateY(3px)}}@media(max-width:850px){.meat-hud{grid-template-columns:repeat(3,1fr)}.meat-controls{grid-template-columns:1fr}.food-processor-departments{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.processing-active .privacy-screen,.tool-motion,.packaging-active .sealer{animation:none}}
.user-creation-step{display:grid;gap:.75rem;width:min(430px,100%);margin:0 auto 1.5rem;padding:1.4rem;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:0 10px 30px rgba(31,65,49,.08)}.user-creation-step .eyebrow{text-align:center}.user-creation-step button{border:0;border-radius:10px;padding:.85rem;background:var(--green);color:#fff;font-weight:900;cursor:pointer}.business-selection-step[hidden],.user-creation-step[hidden]{display:none}.business-owner-line{display:grid;justify-items:center;gap:.2rem;margin:0 auto 1rem}.business-owner-line span{font-size:.68rem;font-weight:900;letter-spacing:.14em;color:var(--green)}.business-owner-line strong{font:700 1.4rem Georgia,serif}.business-owner-line small{color:var(--muted)}.business-creation-fields{display:grid;grid-template-columns:minmax(240px,430px);justify-content:center;gap:1rem;max-width:680px;margin:0 auto 1.5rem}#name-error{display:block;min-height:1.2rem;margin:.7rem auto 0;text-align:center;color:#a84939;font-weight:800}.district-world{min-height:610px}.district-selector{padding:1rem}.district-intro{text-align:center;max-width:680px;margin:0 auto 1.5rem}.district-intro>p{margin:0;color:#39735d;font-weight:900;letter-spacing:.15em}.district-intro h2{margin:.25rem;font:700 clamp(2rem,4vw,3.5rem) Georgia,serif;color:#173e34}.district-intro span{color:#63776e}.district-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.district-grid button{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;align-items:center;text-align:left;min-height:190px;padding:1.2rem;border:2px solid color-mix(in srgb,var(--district-accent) 45%,#d7dfd5);border-radius:22px;background:linear-gradient(135deg,#fffdf8,color-mix(in srgb,var(--district-accent) 12%,#fff));color:#173e34;cursor:pointer;transition:.2s transform,.2s box-shadow}.district-grid button:hover{transform:translateY(-3px);box-shadow:0 18px 38px #173e3420}.district-grid .district-icon{grid-row:1/4;display:grid;place-items:center;width:82px;height:82px;border-radius:18px;background:var(--district-accent);font-size:2.4rem}.district-grid strong{font:700 1.45rem Georgia,serif}.district-grid small{color:#64776f}.district-grid b{color:var(--district-accent)}.district-screen>header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.2rem;padding:1rem}.district-screen>header button{border:1px solid #cbd7cc;border-radius:10px;padding:.65rem .9rem;background:#fffdf8;color:#28644e;font-weight:800;cursor:pointer}.district-screen>header small{color:var(--district-accent);font-weight:900;letter-spacing:.12em}.district-screen>header h2{margin:.1rem 0;font:700 2rem Georgia,serif}.district-screen>header p{margin:0;color:#65766e}.district-screen>header>b{padding:.55rem .8rem;border-radius:999px;background:color-mix(in srgb,var(--district-accent) 18%,#fff);color:#234c3c}.district-lot-map{position:relative;min-height:540px;border-radius:22px;overflow:hidden;background:linear-gradient(#dbeacb 0 44%,#c7ddba 44% 100%);border:2px solid #d0dbcb}.district-road{position:absolute;background:#8a8f88;border:8px solid #d4bc67;z-index:0}.district-road:after{content:"";position:absolute;inset:45% 0 auto;border-top:5px dashed #fff0b1}.district-road.road-horizontal{left:0;right:0;top:44%;height:13%}.district-road.road-vertical{top:0;bottom:0;left:48%;width:7%}.district-road.road-vertical:after{inset:0 auto 0 45%;border:0;border-left:5px dashed #fff0b1}.district-lot{position:absolute;z-index:1;border-radius:16px}.district-lot.available{display:grid;place-items:center;border:3px dashed #739378;background:#ffffff55;color:#55705d;font-weight:900}.district-lot.available small{font-size:.62rem}.district-lot.occupied{display:grid;grid-template-rows:1fr auto;padding:.5rem;border:3px solid #fffdf8;background:#f8f3e8;box-shadow:0 10px 20px #173e3425;cursor:pointer;overflow:hidden}.district-lot.occupied.owned{outline:4px solid #2f7d5e}.district-lot.occupied img{width:100%;height:100%;min-height:0;object-fit:contain}.district-lot.occupied>span{display:grid;padding:.35rem;border-radius:9px;background:#fffdf8}.district-lot.occupied strong{font:700 .9rem Georgia,serif;color:#173e34;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.district-lot.occupied small{color:#64776f;font-size:.62rem}.district-lot.occupied b{color:#2e765c;font-size:.58rem;letter-spacing:.08em}@media(max-width:760px){.business-creation-fields,.district-grid{grid-template-columns:1fr}.district-world{min-height:760px}.district-screen>header{grid-template-columns:1fr}.district-screen>header>b{justify-self:start}.district-lot-map{min-height:700px}.district-lot.occupied strong{font-size:.7rem}}
.role-capacity{display:block;margin-top:9px;color:#39735d;font-size:9px;line-height:1.4}.role-card button:disabled{background:#aeb9b1;cursor:not-allowed}.multiplayer-property-choice{width:min(1050px,94vw);margin:0 auto;padding:24px;border:2px solid #d7e1d3;border-radius:24px;background:#fffdf8;box-shadow:0 18px 45px #173e3420}.multiplayer-property-choice[hidden]{display:none}.multiplayer-property-choice>header{display:flex;align-items:flex-start;gap:18px;margin-bottom:18px}.multiplayer-property-choice>header button{border:1px solid #cbd8cb;border-radius:10px;padding:9px 12px;background:#f2f5ed;color:#285f49;font-weight:800;cursor:pointer}.multiplayer-property-choice h2{margin:3px 0;font:700 30px Georgia,serif;color:#173e34}.multiplayer-property-choice header p{margin:3px 0;color:#65766e}.business-name-field{display:grid;gap:6px;max-width:460px;margin:0 0 20px;color:#2d604c;font-weight:900}.business-name-field input{border:2px solid #d6e0d2;border-radius:12px;padding:13px;font:inherit}.property-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.property-choice-grid>section{padding:18px;border-radius:18px;background:#f5f0e5}.property-choice-grid h3{margin:0 0 12px;font:700 22px Georgia,serif;color:#173e34}.property-choice-grid article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-top:1px solid #d9ded2}.property-choice-grid article div{display:grid}.property-choice-grid article small{color:#687a71}.property-choice-grid article button{border:0;border-radius:9px;padding:9px 11px;background:#2f775c;color:#fff;font-weight:800;cursor:pointer}.property-empty{padding:16px;border:2px dashed #d3dacc;border-radius:12px;color:#66796f;background:#fffdf8}@media(max-width:760px){.property-choice-grid{grid-template-columns:1fr}}
.supply-request-heading{margin-bottom:14px}.supply-request-heading small{font-size:8px;letter-spacing:.14em;color:var(--green);font-weight:900}.supply-request-heading h3{margin:4px 0;font:700 19px Georgia,serif;color:var(--ink)}.supply-request-heading p{margin:0;color:var(--muted);font-size:9px}.supply-request-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.supply-request-card{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#fffdf8,#f4f0e4)}.supply-request-card header{display:flex;gap:10px;align-items:center}.supply-request-card header img{width:58px;height:52px;object-fit:contain}.supply-request-card header div{display:grid}.supply-request-card header small{font-size:7px;letter-spacing:.12em;color:var(--green);font-weight:900}.supply-request-card header strong{font:700 15px Georgia,serif}.supply-request-card header span{font-size:8px;color:var(--muted)}.supply-request-card label{display:grid;gap:4px;font-size:8px;color:var(--muted);font-weight:700}.supply-request-card input,.supply-request-card select{width:100%;min-width:0;padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}.supply-request-terms{display:grid;grid-template-columns:1fr 1fr;gap:8px}.supply-request-card button{border:0;border-radius:8px;background:var(--green);color:#fff;padding:10px;font-size:9px;font-weight:900;cursor:pointer}.wanted-ad-list{display:grid;gap:9px}.wanted-ad-list article{display:grid;gap:4px;padding:13px;border:1px solid var(--line);border-radius:11px;background:var(--paper)}.wanted-ad-list small{font-size:7px;color:var(--green);font-weight:900;letter-spacing:.1em}.wanted-ad-list strong{font:700 14px Georgia,serif}.wanted-ad-list span,.wanted-ad-list p{font-size:8px;color:var(--muted);margin:0}
