.workshop-scene{position:fixed;inset:0 0 var(--app-dock-height,0px);overflow:hidden;background:linear-gradient(#14293212,#14293240),url('assets/Current/scenes/facility-closeups/floor.webp') center/cover;color:#e9e9d5;animation:workshop-scene-enter .3s ease-out}
.main-content:has(.workshop-scene){overflow:hidden!important}
.workshop-header{position:absolute;inset:12px 12px auto;z-index:4;display:flex;justify-content:space-between;gap:12px;pointer-events:none}
.workshop-header button{pointer-events:auto}
.workshop-upgrade{display:block;min-width:140px;padding:12px 14px;background:#173746ee;border:0;border-radius:18px;text-align:left;color:#e8ece7;box-shadow:0 5px 22px #05162033}
.workshop-upgrade>span{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:700}
.workshop-upgrade b{margin-left:auto;padding:4px 7px;border-radius:9px;background:#3c5c6c;font-size:11px}

.workshop-input{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);width:76px;height:76px;display:grid;place-items:center;padding:5px;border:0;border-radius:16px;background:#0b273cbd;color:#fff4bb;box-shadow:0 6px 20px #031b2755;backdrop-filter:blur(3px)}
.workshop-forge .workshop-input{left:51%;top:60%}
.workshop-anvil .workshop-input{left:52%;top:38%;isolation:isolate}
.workshop-anvil .workshop-smelt-fill{background:linear-gradient(0deg,#6c864fdd,#a7d9a788);box-shadow:0 -3px 14px #99daa055}
.workshop-anvil .workshop-progress i{background:linear-gradient(90deg,#77b79a,#b6edc4)}
.workshop-input .item-icon{width:58px!important;height:58px!important}
.workshop-smelt-fill{position:absolute;left:1px;right:1px;bottom:1px;max-height:calc(100% - 2px);border-radius:14px;background:linear-gradient(0deg,#963517ee,#eb702dcc 55%,#ffcf6bba);box-shadow:0 -3px 14px #ffb35466;transition:height .35s linear;pointer-events:none}
.workshop-forge .workshop-input{isolation:isolate}
.workshop-forge .workshop-input .item-icon{position:relative;z-index:1}
.workshop-forge .workshop-input em{z-index:2}
.workshop-lumbermill .workshop-input,.workshop-loom .workshop-input{top:52%;isolation:isolate}
.workshop-lumbermill .workshop-smelt-fill{background:linear-gradient(0deg,#74512dee,#c99a57bb)}
.workshop-loom .workshop-smelt-fill{background:linear-gradient(0deg,#397d91ee,#a1dbd3bb)}
.workshop-bench .workshop-input{isolation:isolate}
.workshop-bench .workshop-smelt-fill{background:linear-gradient(0deg,#326171e8,#7bb7b1b3);box-shadow:0 -3px 14px #7bb7b14d}
.workshop-input-count{position:absolute;right:3px;top:3px;z-index:3;padding:2px 5px;border-radius:6px;background:#102b3be6;color:#ffe3a0;font-size:10px}
.workshop-input .item-icon{position:relative;z-index:1}
.workshop-batch button:disabled{opacity:.35;cursor:default}
.workshop-unlocks{padding:16px 10px;text-align:center;color:#9fbcc9;font-size:12px}
@media(prefers-reduced-motion:reduce){.workshop-smelt-fill{transition:none}}
.workshop-input em{position:absolute;left:50%;bottom:-13px;transform:translateX(-50%);border-radius:8px;padding:4px 8px;white-space:nowrap;background:#19394a;font-size:10px;font-style:normal;color:#d4e3e8}
.workshop-input.is-ready{border-style:solid;border-color:#8cd8b4;box-shadow:0 0 25px #80e3b44d;animation:station-ready 2s ease-in-out infinite}
.workshop-input.is-ready em{background:#245348;color:#b6f6d0}

.workshop-console-title{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:10px}
.workshop-console-title small{font-size:8px;letter-spacing:1.6px;color:#a4bfc9;font-weight:600}
.workshop-console h2{font-size:17px;line-height:1.25;color:#f1e5c3;margin-top:4px}
.workshop-clock{font-size:22px;color:#f8d788;font-weight:700;white-space:nowrap}
.workshop-progress{display:block;height:7px;border-radius:5px;background:#294959;overflow:hidden;margin:12px 0}
.workshop-progress i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#77aaab,#b0dfce);transition:width .25s linear}
.workshop-forge .workshop-progress i{background:linear-gradient(90deg,#cf9755,#ffe190)}
.workshop-change{font-size:10px;padding:7px 9px;background:#244957;border:0;color:#c4dbe0;border-radius:10px}
.workshop-materials,.workshop-result{display:flex;flex-wrap:wrap;gap:6px 12px;margin:9px 0}
.workshop-materials>span,.workshop-result>span,.workshop-picker-output>span{display:inline-flex;align-items:center;gap:5px;min-width:0}
.workshop-materials b,.workshop-result b{font-size:12px;color:#f2dd9d}
.workshop-materials small,.workshop-result small{font-size:10px;color:#bad1d9;line-height:1.3}
.workshop-preview{display:flex;align-items:center;gap:10px;padding:6px 0;color:#bad7dc}
.workshop-preview>strong{color:#95e0b6}
.workshop-preview small{margin-left:auto;font-size:11px;color:#99ddb4}
.workshop-preview i{font-style:normal;color:#7b9aa7}
.workshop-main-action{width:100%;min-height:43px;margin-top:9px;border-radius:12px!important;background:#ffd166!important;color:#263239!important;border-color:#ffd166!important;display:flex;justify-content:center;align-items:center;gap:18px;font-size:13px!important;box-shadow:0 3px 0 #b69047}
.workshop-main-action span{font-size:11px;opacity:.8}
.workshop-error{font-size:11px;line-height:1.4;color:#f3a9a7;padding:7px 0 0}
.workshop-independent{font-size:10px;text-align:center;color:#afc9d5;margin-top:12px}
.workshop-batch{display:flex;gap:5px;align-items:center;margin:9px 0}
.workshop-batch>span{font-size:11px;margin-right:auto;color:#a9c5d1}
.workshop-batch button{padding:5px 8px;min-height:30px;background:#224351;color:#c2dbe1;border:0;border-radius:8px;font-size:11px}
.workshop-batch .chosen{background:#3a655f;color:#c0efda}
.workshop-batch b{font-size:12px;min-width:20px;text-align:center}
.workshop-picker header{display:flex;align-items:center;gap:12px;margin:0 0 8px;padding-right:94px}
.workshop-picker header>div{display:flex;flex:1;flex-direction:column;align-items:center;text-align:center;min-width:0;gap:0}
#modal .workshop-picker header h2{margin:0!important}
body #modal .modal button.station-skill-guide{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:28px!important;margin:0;padding:3px 0;border:0!important;background:transparent!important;box-shadow:none!important;color:var(--popup-yellow,#ffd15b);font:600 11px/1.3 Segoe UI,system-ui,sans-serif;text-transform:none;letter-spacing:0;white-space:nowrap;cursor:pointer}
body #modal .modal button.station-skill-guide svg{flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body #modal .modal button.station-skill-guide:hover{color:#fff0bc;text-decoration:underline;text-underline-offset:3px}
body #modal .modal button.station-skill-guide:focus-visible{outline:2px solid var(--popup-yellow,#ffd15b);outline-offset:4px;border-radius:3px}
.workshop-picker h2{font-size:21px;color:#f1e6c5;margin-top:3px}
.workshop-forge.idle .workshop-input .item-icon{animation:forge-item-drop .34s cubic-bezier(.17,.8,.25,1.2) both}
@keyframes forge-item-drop{from{opacity:0;transform:translateY(-18px) scale(.7)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.workshop-forge.idle .workshop-input .item-icon{animation:none}}
.reduce-motion .workshop-forge.idle .workshop-input .item-icon{animation:none}
.workshop-picker-search{display:flex;flex-direction:column;margin:0 0 8px}
.workshop-search-toggle{position:absolute;top:12px;right:60px;z-index:2;display:grid;place-items:center;box-sizing:border-box;width:40px;min-width:40px;max-width:40px;height:40px;min-height:40px;max-height:40px;padding:0;border:0;border-radius:11px;background:#1c3b49;color:#9dc1c7}
#modal .modal button.workshop-search-toggle:not(.app-sheet-handle){width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important;max-height:40px!important}
.workshop-search-toggle svg{width:21px;height:21px}
.workshop-search-toggle:hover:not(:disabled),.workshop-picker-search.is-open .workshop-search-toggle{background:#2b5260;color:#e1eff0}
.workshop-search-panel{width:100%;max-height:0;opacity:0;overflow:hidden;visibility:hidden;transition:max-height .22s ease,opacity .18s ease}
.workshop-picker-search.is-open .workshop-search-panel{max-height:56px;opacity:1;visibility:visible}
.workshop-picker .workshop-search{display:block;width:100%;height:42px;margin:8px 0 0;font-size:12px;border-radius:12px;background:#102937;border-color:#3d5d6b}
.workshop-choice-list{overflow:auto;max-height:min(52dvh,480px);overscroll-behavior:contain;padding:1px 12px 8px 10px;scrollbar-width:thin}
#modal .workshop-picker-modal .workshop-picker{touch-action:pan-y;overscroll-behavior-x:contain}
.workshop-choice{width:100%;display:flex;align-items:center;gap:10px;padding:11px 10px;margin-bottom:8px;border:1px solid #3b5d6d;border-radius:15px;background:#193746;text-align:left}
.workshop-choice[hidden]{display:none}
.workshop-choice>span:first-child{flex:0 0 44px}
.workshop-choice>span:nth-child(2){flex:1;min-width:0}
.workshop-choice b{display:block;color:#e7e7d7;font-size:12px;line-height:1.3}
.workshop-choice small{display:block;font-size:10px;color:#a3c0cc;line-height:1.4;margin-top:4px}
.workshop-choice em{display:block;font-size:9px;font-style:normal;color:#e5a3a7;line-height:1.3;margin-top:4px}
.workshop-choice i{font-size:23px;font-style:normal;color:#e9c980}
.workshop-picker-output{display:flex;flex-wrap:wrap;gap:5px 10px;margin-top:5px}
.workshop-picker-output small{margin:0;font-size:9px}
.workshop-picker-output b{font-size:10px;color:#e8d89f}
#modal .modal.workshop-picker-modal{width:min(510px,calc(100vw - 32px));max-width:510px;max-height:90dvh;border-radius:24px;align-self:center;animation:workshop-enter .2s ease-out}
@media(max-width:800px){
 #modal .modal.workshop-picker-modal:has([data-workshop-picker-station="forge"],[data-workshop-picker-station="anvil"]){display:flex;flex-direction:column;height:min(90dvh,600px);overflow:hidden}
 #modal .modal.workshop-picker-modal .workshop-picker:is([data-workshop-picker-station="forge"],[data-workshop-picker-station="anvil"]){display:flex;flex:1;flex-direction:column;min-height:0}
 #modal .modal.workshop-picker-modal .workshop-picker:is([data-workshop-picker-station="forge"],[data-workshop-picker-station="anvil"]) .workshop-choice-list{flex:1;min-height:0;max-height:none}
}
#modal .modal.workshop-picker-modal>.modal-close{position:absolute;inset:12px 12px auto auto;display:grid;place-items:center;box-sizing:border-box;width:40px;min-width:40px;max-width:40px;height:40px;min-height:40px!important;max-height:40px;padding:0;border:0;border-radius:11px;background:#203846;color:#e5f0f0}
#modal .modal.workshop-picker-modal>.modal-close:hover{background:#2b4a59}
@keyframes station-ready{50%{box-shadow:0 0 35px #80e3b485}}
@keyframes workshop-enter{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}
@keyframes workshop-scene-enter{from{opacity:0}to{opacity:1}}
@media(max-height:650px){.workshop-console h2{font-size:14px}.workshop-header{top:8px}.workshop-upgrade{padding:9px 11px;min-width:130px}.workshop-console-title{margin-bottom:6px}.workshop-materials,.workshop-result{margin:5px 0}.workshop-main-action{min-height:36px}.workshop-input{width:58px;height:58px}.workshop-input .item-icon{width:43px!important;height:43px!important}}
@media(min-width:801px){.workshop-scene{left:225px;bottom:0;top:var(--workshop-header-clearance,132px)}}
@media(prefers-reduced-motion:reduce){.workshop-scene,.workshop-input.is-ready{animation:none}.workshop-progress i{transition:none}}
.reduce-motion .workshop-scene,.reduce-motion .workshop-input.is-ready{animation:none}
.scene-upgrade-stack{display:flex;flex-direction:column;align-items:stretch;gap:7px;pointer-events:auto}
.scene-repair{background:#653239e8;border:0;border-radius:11px;color:#ffc6c1;padding:8px 12px;font-size:11px;font-weight:700;text-align:right}

.production-timer{min-width:66px;text-align:right;flex-shrink:0}
.production-timer b{font-size:16px;color:#ffdf94}
.production-timer .workshop-progress{display:block;height:3px;margin:5px 0 0}
.production-flow{display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);gap:9px;align-items:stretch;margin:9px 0}
.production-flow section{background:#0a2130;padding:10px;border-radius:13px;min-width:0}
.production-flow section>small{font-size:9px;letter-spacing:1px;color:#a6c1ce}
.production-flow .workshop-materials,.production-flow .workshop-result{margin:7px 0 0;gap:5px}
.production-flow .workshop-materials>span,.production-flow .workshop-result>span{width:100%;display:grid;grid-template-columns:28px auto 1fr;gap:5px}
.production-flow small{overflow-wrap:anywhere;font-size:10px}
.production-arrow{align-self:center;color:#8daab7}
.production-muted{font-size:11px;color:#789ba9;grid-column:1/-1}
.production-output.has-output{box-shadow:none;border:0;background:#143c3d}

.production-actions .workshop-main-action{flex:1;margin:0}
.production-scene{animation:none}

.workshop-main-action:disabled{opacity:.45;box-shadow:none;cursor:default}
.workshop-cancel{font-size:11px;border:0;background:#294957;color:#b9d1da;border-radius:10px;padding:12px}
.workshop-stove .workshop-input{top:53%;isolation:isolate}
.workshop-stove .workshop-smelt-fill{background:linear-gradient(0deg,#bd7035ee,#f9ce71bb)}

.radar-screen{position:relative;width:min(65dvh,85%,340px);aspect-ratio:1;border:10px solid #263d4a;border-radius:50%;overflow:hidden;box-shadow:0 0 0 3px #49646a,0 15px 30px #0004;background:repeating-radial-gradient(circle,#103b34 0,#103b34 19%,#447561 20%,#103b34 21%)}
.radar-grid{position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.7%,#67a48755 50%,transparent 50.3%),linear-gradient(transparent 49.7%,#67a48755 50%,transparent 50.3%)}
.radar-sweep{position:absolute;inset:0;background:conic-gradient(from 0deg,transparent 270deg,#8bdca855 359deg,transparent);animation:radar-sweep 7s linear infinite}
@keyframes radar-sweep{to{transform:rotate(360deg)}}
.radar-home{position:absolute;inset:calc(50% - 14px) auto auto calc(50% - 14px);color:#dfeeb9}
.radar-contact{position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;background:#ffd687;transform:rotate(var(--angle)) translateX(80px);box-shadow:0 0 10px #ffdc8c}
.radar-caption{position:absolute;bottom:15%;left:0;right:0;text-align:center;font-size:8px;letter-spacing:1.2px;color:#9bceb1}
.radar-screen.offline{filter:grayscale(1);opacity:.5}.radar-screen.offline .radar-sweep{animation:none}
.unlock-art{width:42px;height:42px;object-fit:contain;flex-shrink:0}
@media(max-height:730px){.radar-screen{width:min(39dvh,80%,300px)}.production-flow{margin:6px 0}.production-flow section{padding:7px}.production-flow .workshop-materials .item-icon,.production-flow .workshop-result .item-icon{width:22px!important;height:22px!important}.production-flow .workshop-materials>span,.production-flow .workshop-result>span{grid-template-columns:22px auto 1fr}}
@media(prefers-reduced-motion:reduce){.radar-sweep{animation:none}}
.reduce-motion .radar-sweep{animation:none}
.radar-home img{width:28px;height:28px;object-fit:contain}.radar-screen.offline .radar-caption{color:#d4bdad}
@media(max-height:730px){.radar-screen{width:min(34dvh,75%,270px)}}
.workshop-upgrade-actions{display:flex;justify-content:flex-start;margin-top:12px}
.workshop-bench .bench-upgrade-cancel{min-height:32px;padding:7px 12px;border:0;border-radius:10px;background:#294957;color:#d4e5e5;font-size:11px;font-weight:700}
.workshop-bench .bench-upgrade-cancel:disabled{opacity:.45}
#modal .gear-upgrade-backdrop{align-items:center;justify-content:center;padding:14px;background:#02090dd9}
#modal .modal.gear-upgrade-modal{position:relative;inset:auto;align-self:center;width:min(430px,100%);max-width:430px;max-height:calc(100dvh - 28px);margin:auto;padding:0;border:0;border-radius:22px;background:radial-gradient(ellipse at 50% 0%,#31504c 0%,#193441 49%,#112936 100%);box-shadow:0 25px 80px #0009;overflow:auto;animation:gear-upgrade-appear .26s cubic-bezier(.2,.8,.2,1)}
#modal .gear-upgrade-modal>.app-sheet-handle{display:none}
#modal .gear-upgrade-modal>.modal-close{position:absolute;top:13px;right:13px;z-index:5;display:grid;place-items:center;width:36px;min-width:36px;height:36px;min-height:36px;margin:0;padding:0;border:0;border-radius:11px;background:#ffffff12;color:#e4eeee;font-size:22px;line-height:1}
#modal .gear-upgrade-modal>.modal-close:hover{background:#ffffff24}
.gear-upgrade-celebration{position:relative;isolation:isolate;overflow:hidden;padding:24px 20px 20px;text-align:center}
.gear-upgrade-eyebrow{position:relative;z-index:2;display:block;margin-bottom:9px;color:#ffd27a;font-size:9px;font-weight:850;letter-spacing:1.7px}
.gear-upgrade-hero{position:relative;z-index:2;display:grid;place-items:center;width:132px;height:132px;margin:0 auto 5px;border-radius:32px;background:radial-gradient(circle,#ffffff20,#ffffff06 62%,transparent 72%)}
.gear-upgrade-art{display:grid;place-items:center;width:112px;height:112px;border-radius:25px;background:#0d2633a8;box-shadow:0 10px 34px #061a27a0,0 0 36px #ffd47b47;animation:gear-upgrade-art-pop .48s cubic-bezier(.16,1.3,.35,1) both}
.gear-upgrade-art .item-icon{width:104px!important;height:104px!important;object-fit:contain}
.gear-upgrade-celebration h2{position:relative;z-index:2;margin:4px 0 4px;color:#ffdb83;font-size:23px;font-weight:900;letter-spacing:.35px;line-height:1.15}
.gear-upgrade-name{position:relative;z-index:2;margin:0;color:#eff2e9;font-size:16px;font-weight:750;line-height:1.35}
.gear-upgrade-tier{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:12px;margin:11px 0 16px;font-size:11px;color:#a9c9cb}
.gear-upgrade-tier b{color:#e7c877;font-size:16px}.gear-upgrade-tier strong{color:#a5e3bd;font-size:12px}
.gear-upgrade-stats{position:relative;z-index:2;padding:13px 14px;border-radius:15px;background:#0a2632d9;text-align:left}
.gear-upgrade-stats-head,.gear-upgrade-stat{display:grid;grid-template-columns:minmax(70px,1fr) 55px 14px 55px 43px;align-items:center;gap:4px}
.gear-upgrade-stats-head{margin-bottom:4px;color:#86aab4;font-size:8px;font-weight:800;letter-spacing:1px}.gear-upgrade-stats-head span:first-child{grid-column:2;text-align:right}.gear-upgrade-stats-head span:last-child{grid-column:4;text-align:right}
.gear-upgrade-stat{min-height:37px;color:#c5d8dc;font-size:11px}.gear-upgrade-stat>span{font-weight:700}.gear-upgrade-stat>b,.gear-upgrade-stat>strong{text-align:right;font-size:14px;font-variant-numeric:tabular-nums}.gear-upgrade-stat>b{color:#9cb3bb}.gear-upgrade-stat>i{color:#d1c28d;font-style:normal;text-align:center}.gear-upgrade-stat>strong{color:#ffe09a}.gear-upgrade-stat>em{color:#97e0b5;font-size:10px;font-style:normal;font-weight:800;text-align:right;white-space:nowrap}
.gear-upgrade-xp{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:6px;margin:14px 0;color:#f7d381;font-size:11px;font-weight:750}.gear-upgrade-xp .item-icon{width:20px!important;height:20px!important}
.gear-upgrade-buttons{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1.55fr;gap:9px;margin-top:10px}.gear-upgrade-buttons button{min-height:46px;margin:0;padding:10px 12px;border:0;border-radius:12px;font-size:12px;font-weight:850}.gear-upgrade-close{background:#2a4a57;color:#e3eeee}.gear-upgrade-buttons button.primary.gear-upgrade-equip{box-shadow:0 3px 0 #a9762b}
.gear-upgrade-confetti{position:absolute;z-index:1;top:113px;left:50%;width:1px;height:1px;pointer-events:none}.gear-upgrade-confetti i{position:absolute;display:block;width:6px;height:10px;border-radius:2px;background:#ffd477;opacity:0;animation:gear-upgrade-burst 1.15s ease-out var(--delay) both}.gear-upgrade-confetti i:nth-child(3n){background:#8ddcb3}.gear-upgrade-confetti i:nth-child(4n){background:#c8e8de}.gear-upgrade-confetti i:nth-child(5n){width:5px;height:5px;border-radius:50%}
.paper-survivor.gear-swap-reveal::after{content:"";position:absolute;inset:12% 3% 8%;pointer-events:none;background:radial-gradient(ellipse,#ffe6a45e,transparent 65%);animation:gear-swap-glow 1.2s ease-out both}
.paper-survivor.gear-swap-reveal .survivor-weapon,.paper-survivor.gear-swap-reveal .survivor-weapon-rear{transform-origin:50% 75%;animation:gear-swap-weapon 1.05s cubic-bezier(.2,.8,.2,1) both}
.equipment-slot.gear-swap-reveal{animation:gear-swap-card 1.15s ease-out both}
@keyframes gear-upgrade-appear{from{opacity:0;transform:translateY(13px) scale(.96)}to{opacity:1;transform:none}}
@keyframes gear-upgrade-art-pop{from{opacity:0;transform:scale(.55) rotate(-12deg)}70%{transform:scale(1.08) rotate(3deg)}to{opacity:1;transform:none}}
@keyframes gear-upgrade-burst{0%{opacity:0;transform:translate(0,0) scale(.5) rotate(0)}12%{opacity:1}75%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) scale(.8) rotate(260deg)}}
@keyframes gear-swap-glow{0%{opacity:0}30%{opacity:1}100%{opacity:0}}
@keyframes gear-swap-weapon{0%{opacity:0;transform:translateY(18px) rotate(-12deg);filter:brightness(2)}55%{opacity:1;transform:translateY(-4px) rotate(4deg);filter:brightness(1.6)}100%{opacity:1;transform:none;filter:none}}
@keyframes gear-swap-card{0%,100%{box-shadow:none}35%{box-shadow:0 0 0 3px #ffde88a3,0 0 24px #ffd47b70}}
@media(max-width:360px){.gear-upgrade-celebration{padding-inline:14px}.gear-upgrade-stats{padding-inline:10px}.gear-upgrade-stats-head,.gear-upgrade-stat{grid-template-columns:minmax(62px,1fr) 48px 12px 48px 40px}}
@media(prefers-reduced-motion:reduce){#modal .modal.gear-upgrade-modal,.gear-upgrade-art,.gear-upgrade-confetti i,.paper-survivor.gear-swap-reveal::after,.paper-survivor.gear-swap-reveal .survivor-weapon,.paper-survivor.gear-swap-reveal .survivor-weapon-rear,.equipment-slot.gear-swap-reveal{animation:none}}
.reduce-motion #modal .modal.gear-upgrade-modal,.reduce-motion .gear-upgrade-art,.reduce-motion .gear-upgrade-confetti i,.reduce-motion .paper-survivor.gear-swap-reveal::after,.reduce-motion .paper-survivor.gear-swap-reveal .survivor-weapon,.reduce-motion .equipment-slot.gear-swap-reveal{animation:none}

/* Consistent, borderless panels and square close controls. */
#modal .modal button.modal-close{box-sizing:border-box!important;display:grid!important;place-items:center!important;flex:0 0 40px!important;width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important;max-height:40px!important;margin-block:0!important;padding:0!important;border:0!important;border-radius:11px!important;line-height:1!important}
#modal .tonic-replace-head button{flex:0 0 40px;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border:0;border-radius:11px}
.character-display-picker{border:0!important;background:linear-gradient(150deg,#1b3843,#102631)!important;box-shadow:0 18px 42px #000a!important}
.character-display-picker h3,.character-display-options>button,.character-display-picker .character-display-all{border:0!important}
.character-display-options{display:grid;gap:5px;padding:5px 7px}
.character-display-options>button{border-radius:8px;background:#ffffff09}
.character-display-picker .character-display-all{margin-top:4px;background:#264552}
#modal :is(.equipment-loadout-drawer,.tools-loadout-drawer) .tools-drawer-grid>.equipment-slot,
#modal :is(.equipment-loadout-drawer,.tools-loadout-drawer) .equipment-visual .item-art,
#modal .loadout-picker :is(.loadout-item,.loadout-item-art,.picker-equipped-section,.picker-unoccupied){border:0!important;box-shadow:none!important}
#modal .loadout-picker .loadout-item{background:#1c3942!important}
#modal .loadout-picker .loadout-item-art{background:#102732!important}

/* The ordinary task cards are quiet; recommendations keep their own emphasis. */
#skills-content :is(#gather-page,#craft-page) .activity-card:not(.is-recommended):not(.is-daily){border:0!important}
#skills-content :is(#gather-page,#craft-page) :is(.craft-all,.gather-queue,.daily-go-button){border:0!important;box-shadow:none!important}
#skills-content:has(.guide-summary) :is(.guide-summary,.guide-section,.unlock-card,.panel,button,select,.filters){border:0!important;box-shadow:none!important}

/* A slow light sweep crosses the daily card and exits fully before restarting. */
.gather-daily,.activity-card.is-daily{position:relative;isolation:isolate;overflow:hidden}
.gather-daily::before,.activity-card.is-daily::before{content:"";position:absolute;inset:-80% -50%;z-index:0;pointer-events:none;background:linear-gradient(90deg,transparent 42%,#8be7cd24 50%,transparent 58%);transform:translateX(-140%);animation:daily-task-shine 7s ease-in-out infinite}
.gather-daily>*,.activity-card.is-daily>*{position:relative;z-index:1}
@keyframes daily-task-shine{0%,15%{transform:translateX(-140%)}75%,100%{transform:translateX(140%)}}
@media(prefers-reduced-motion:reduce){.gather-daily::before,.activity-card.is-daily::before{animation:none;display:none}}
.reduce-motion .gather-daily::before,.reduce-motion .activity-card.is-daily::before{animation:none;display:none}

/* Craft thumbnails use the same quantity, tier and upgrade cues as Storage. */
#craft-page .craft-item-art.craft-storage-art{width:82px;height:82px;min-height:82px;aspect-ratio:1;border:1px solid color-mix(in srgb,var(--rarity) 45%,#2b4651);border-radius:10px;background:radial-gradient(ellipse at 50% 70%,color-mix(in srgb,var(--rarity) 22%,transparent),transparent 76%),#19323e;box-shadow:inset 0 1px #ffffff14}
#craft-page .craft-card{grid-template-columns:82px minmax(0,1fr) 106px}
#craft-page .craft-emblem{width:82px}
#craft-page .craft-storage-art>.item-icon{width:70px!important;height:70px!important;object-fit:contain}
#craft-page .craft-storage-art>.inventory-tier{position:absolute;top:4px;right:5px;z-index:2;padding:2px 4px;border:0;border-radius:5px;background:#0b2331d9;color:#f4cf7c;font-size:9px;font-weight:800}
#craft-page .craft-storage-art>.inventory-qty{position:absolute;right:5px;bottom:3px;z-index:2;color:#e6f0ed;font-size:10px;font-weight:800;text-shadow:0 1px 3px #001}
@media(max-width:600px){#craft-page .craft-card{grid-template-columns:60px minmax(0,1fr)}#craft-page .craft-emblem{width:60px}#craft-page .craft-actions{grid-column:1/-1;grid-row:2;display:grid;width:100%;justify-self:stretch}#craft-page .craft-item-art.craft-storage-art{width:60px;height:60px;min-height:60px}#craft-page .craft-storage-art>.item-icon{width:54px!important;height:54px!important}}

/* One clear source action sits beside each missing building material. */
.facility-sheet .build-material-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;border-top:0}
.facility-sheet .build-material-row>.build-material-sources{grid-column:3;grid-row:1;justify-self:end;padding:0}
.facility-sheet .build-material-sources button.build-material-source-button,.facility-sheet .build-material-level{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 10px;border:0;border-radius:9px;background:#284a58;box-shadow:none;color:#e4edf0;font-size:10px;font-weight:700;white-space:nowrap}
.facility-sheet .build-material-level{background:#523238;color:#ffb4b7}
.facility-heading .facility-upgrade-description{grid-column:1/-1;margin:2px 0 0;padding:0 2px;color:#c3d4d4;font-size:12px;line-height:1.5}

.production-actions .workshop-main-action,.workshop-main-action[data-action="workshop-claim"]{display:flex;align-items:center;justify-content:center;gap:7px}
.production-actions .workshop-main-action .item-icon{width:22px!important;height:22px!important;flex:none}

.radio-room-stage,.room-radio .room-footer{z-index:1}

.tutorial-console-hidden{visibility:hidden;pointer-events:none}

.tutorial-meal-finished .workshop-input{visibility:hidden;pointer-events:none}

.workshop-choice.has-issue:disabled{opacity:1;background:linear-gradient(115deg,#723e4330,transparent 85%),#142d39;border-color:#aa616144;cursor:not-allowed}.workshop-choice .workshop-picker-output .material-short{color:#ed9693}.workshop-choice .material-short b,.workshop-choice .material-short small{color:inherit}.workshop-choice:disabled>i{opacity:.3}

.damaged-facility-art{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:min(75vw,480px)}.damaged-facility-art>img{display:block;width:100%;filter:grayscale(1) brightness(.65);object-fit:contain}.facility-break-smoke{position:absolute;inset:0;pointer-events:none}.facility-break-smoke i{position:absolute;width:14%;aspect-ratio:1;left:48%;top:43%;border-radius:50%;background:radial-gradient(circle,#a4a7aa77,transparent 70%);animation:facility-break-smoke 3.6s ease-out infinite}.facility-break-smoke i:nth-child(2){left:35%;animation-delay:-.9s}.facility-break-smoke i:nth-child(3){left:56%;animation-delay:-1.8s}.facility-break-smoke i:nth-child(4){left:42%;animation-delay:-2.7s}.damaged-facility-action{position:absolute;bottom:15%;left:50%;transform:translateX(-50%)}.damaged-facility-action .scene-repair{min-width:190px;min-height:48px;text-align:center;font-size:14px;background:linear-gradient(#93464d,#70343c);box-shadow:0 4px 16px #0004}
@keyframes facility-break-smoke{0%{transform:translate(0,0) scale(.5);opacity:0}25%{opacity:.65}100%{transform:translate(15px,-100px) scale(2.4);opacity:0}}
@media(prefers-reduced-motion:reduce){.facility-break-smoke i{animation:none;opacity:.3}}.reduce-motion .facility-break-smoke i{animation:none;opacity:.3}

.halted-console{color:#aabec8}.halted-console .workshop-console-title>b{color:#edbb7b;font-size:13px}.halted-clock{display:block;margin:10px 0;font-size:12px}.halted-console .workshop-progress i{background:#8099a4}.halted-input{filter:grayscale(1);pointer-events:none}

/* Upgraded Anvils gain independent craft spots above the same station art. */
.anvil-craft-spots{--anvil-control-size:64px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;grid-template-columns:repeat(2,var(--anvil-control-size));justify-content:center;gap:24px 16px;z-index:3}
.anvil-craft-spots[data-spots="1"]{grid-template-columns:var(--anvil-control-size)}
.anvil-craft-spots>.anvil-craft-spot:first-child{grid-row:1;grid-column:1}
.anvil-craft-spots>.anvil-craft-spot:nth-child(2){grid-row:1;grid-column:2}
.anvil-craft-spots[data-spots="3"]{grid-template-columns:repeat(3,var(--anvil-control-size))}
.anvil-craft-spots[data-spots="3"]>.anvil-craft-spot:nth-child(3){grid-row:1;grid-column:3}
.workshop-anvil .anvil-craft-spots>.anvil-craft-spot{position:relative;left:auto;top:auto;transform:none;width:var(--anvil-control-size);height:var(--anvil-control-size);border:0;background:#0b273cbd;box-shadow:0 6px 20px #031b2755;backdrop-filter:blur(3px)}
.workshop-anvil .anvil-craft-spot.is-ready{box-shadow:0 0 0 2px #8cd8b4,0 0 18px #80e3b488}
.workshop-anvil .anvil-craft-spot .item-icon{width:42px!important;height:42px!important}
.facility-collection-float{position:fixed;z-index:1100;display:grid;gap:3px;max-width:min(260px,calc(100vw - 24px));width:max-content;pointer-events:none;text-align:center;color:#fff3cf;font-size:15px;font-weight:800;line-height:1.25;text-shadow:0 2px 4px #000,0 0 10px #000;transform:translate(-50%,-50%)}
.facility-collection-float.special-harvest{padding:12px 18px;border:0;border-radius:14px;background:#3c2c13eb;color:#fff1ba;box-shadow:0 0 24px #f7c55399,0 10px 28px #0009;text-shadow:0 1px 3px #241805}
.facility-collection-float .special-harvest-label{color:#ffd870;font-size:10px;letter-spacing:.14em}
.facility-collection-xp{color:#ffd47b;font-size:13px}
@media(max-height:700px){.anvil-craft-spots{--anvil-control-size:58px;gap:20px 14px}}
.workshop-picker .workshop-choice>span:nth-child(2)>b{display:flex;align-items:center;justify-content:space-between;gap:8px}.workshop-picker .workshop-choice .recipe-heal{display:inline;flex-shrink:0;font-size:10px;font-weight:600;font-style:normal;color:#9bd4b9;margin:0;white-space:nowrap}
/* Compact batch recipes: effects below the name, level and duration at a glance. */
.workshop-choice.workshop-recipe-choice{align-items:flex-start;gap:9px;padding:12px 10px}
.workshop-recipe-choice>span.workshop-recipe-icon{flex:0 0 32px;padding-top:2px}
.workshop-recipe-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.workshop-recipe-heading>b{min-width:0;flex:1}
.workshop-choice .workshop-recipe-meta{flex:none;margin:0;padding-top:1px;white-space:nowrap;font-size:10px;color:#b1c6cf;font-variant-numeric:tabular-nums}
.workshop-recipe-description{display:block;margin-top:4px;font-size:11px;line-height:1.4;color:#b6d3c6;font-weight:400}
.workshop-recipe-choice .workshop-picker-output{gap:5px 9px;margin-top:8px}
.workshop-recipe-choice .workshop-picker-output .item-icon{width:18px!important;height:18px!important;flex:none}
.workshop-picker-more{display:block;width:100%;min-height:38px;margin-top:6px;border:0;border-radius:10px;background:#102c3c;color:#d9ebee;font-size:12px;font-weight:700}
.workshop-picker-more:hover:not(:disabled){background:#183a4b}
.workshop-picker-more[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.workshop-search-panel{transition:none}}
.reduce-motion .workshop-search-panel{transition:none}
.workshop-recipe-choice.level-locked .workshop-recipe-meta{color:#efaaa6}



/* Fixed upper artwork sits behind full-height controls anchored above the dock. */
.workshop-scene{
 --facility-panel:#122e3bf5;--facility-inset:#0c2330;--facility-control:#264956;
 display:flex;flex-direction:column;gap:12px;box-sizing:border-box;
 padding:calc(max(var(--queue-clearance,0px),env(safe-area-inset-top,0px)) + 12px) 12px 14px;
 overflow:hidden;overscroll-behavior:contain;
}
.workshop-scene>.workshop-header{
 position:relative;inset:auto;flex:0 0 72px;width:100%;max-width:560px;margin:0 auto;
 align-items:flex-start;gap:12px;
}
.workshop-scene .workshop-upgrade,.garden-scene .garden-upgrade{
 border:0;border-radius:16px;background:var(--facility-panel,#122e3bf5);box-shadow:0 5px 18px #06172033;
}
.workshop-scene .workshop-upgrade{min-width:0;padding:12px 14px}
.workshop-scene .workshop-upgrade>span{gap:10px;font-size:14px}
.workshop-scene>.workshop-stage{
 position:absolute;inset:calc(max(var(--queue-clearance,0px),env(safe-area-inset-top,0px)) + 78px) 12px auto;z-index:1;flex:none;height:clamp(150px,calc((100dvh - var(--app-dock-height,0px) - var(--queue-clearance,0px) - 120px)*.6),380px);min-height:0;width:calc(100% - 24px);max-width:560px;
 margin:0 auto;display:grid;place-items:center;
}
.workshop-scene>.workshop-console,.workshop-scene>.room-footer{
 position:absolute;inset:auto 12px var(--facility-console-bottom,14px);transform:none;flex:none;min-height:0;box-sizing:border-box;z-index:3;
 width:calc(100% - 24px);max-width:560px;max-height:none;margin:0 auto;padding:14px;
 border:0;border-radius:18px;background:var(--facility-panel);box-shadow:0 7px 24px #05172345;
 overflow:visible;
}
.workshop-scene .workshop-console-title{align-items:flex-start;margin:0 0 12px;gap:12px}
.workshop-scene .workshop-console h2{min-width:0;margin:0;font-size:17px;line-height:1.35;overflow-wrap:anywhere}
.workshop-scene .workshop-console-title>div:first-child{min-width:0}
.workshop-scene .workshop-console-title small{display:block;margin-bottom:5px;line-height:1.4}
.workshop-scene .production-flow{margin:0;gap:8px;grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr)}
.workshop-scene .production-flow section{padding:10px;border:0;background:var(--facility-inset);border-radius:12px}
.workshop-scene .production-flow .production-output.has-output{background:#173f3e}
.workshop-scene .production-flow :is(.workshop-materials,.workshop-result)>span{grid-template-columns:22px auto minmax(0,1fr);gap:4px}
.workshop-scene .production-flow .item-icon{width:22px!important;height:22px!important}
.workshop-scene .production-flow small{line-height:1.4;overflow-wrap:normal}
.workshop-scene .production-flow section>small{font-size:9px;letter-spacing:.7px}
.workshop-scene .workshop-batch{
 display:flex;align-items:center;gap:6px;min-width:0;margin:12px 0;padding:6px;
 border:0;border-radius:12px;background:var(--facility-inset);
}
.workshop-scene .workshop-batch>span{margin-right:auto;padding-left:5px;font-size:11px}
.workshop-scene .workshop-batch button{flex:none;min-width:36px;min-height:38px;padding:7px;border:0;border-radius:9px;background:var(--facility-control)}
.workshop-scene .workshop-batch button.chosen{background:#38665d;color:#d1f1dc}
.workshop-scene .workshop-batch b{min-width:24px;font-size:13px;text-align:center;font-variant-numeric:tabular-nums}
.workshop-scene .production-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-top:12px}
.workshop-scene .production-actions:has(>.production-cancel-link){gap:3px}
.workshop-scene .workshop-main-action{width:100%;min-width:0;min-height:46px;margin-top:12px;padding:10px 12px;gap:8px;border:0!important;border-radius:12px!important;box-shadow:none;font-size:13px!important;flex-wrap:wrap}
.workshop-scene .production-actions>.workshop-main-action{flex:none;margin:0}
.workshop-scene .production-cancel-link,.workshop-scene .workshop-cancel{
 align-self:center;width:auto;min-height:36px;margin:0;padding:8px 12px;border:0;border-radius:9px;
 background:transparent;box-shadow:none;color:#b6cdd4;font-size:11px;text-decoration:none;
}
.workshop-scene .production-cancel-link:hover,.workshop-scene .workshop-cancel:hover{background:#ffffff0a;color:#e2ecea}
.workshop-scene .production-actions>.production-cancel-link{min-height:27px;padding:3px 10px}
.workshop-scene .production-actions>.workshop-cancel{order:1}
.workshop-anvil .production-actions{gap:3px}
.workshop-anvil .production-actions>.workshop-cancel{min-height:27px;padding:3px 10px}
.workshop-anvil>.workshop-console:has(.workshop-cancel:not([hidden])){padding-bottom:8px}
.workshop-scene .workshop-error{margin:10px 0 0;padding:0;line-height:1.5}
.workshop-scene .room-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}
.workshop-scene>.radio-room-stage{position:relative;inset:auto;flex:1 1 auto;min-height:0;overflow:auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:16px;width:100%;max-width:560px;margin:0 auto}
.room-radio>.room-footer{position:relative;inset:auto;width:100%;margin:0 auto}
.workshop-scene .radar-screen{flex:none;width:min(36dvh,70vw,280px)}
.workshop-scene .workshop-input{border:0}
@media(max-width:360px){
 .workshop-scene{padding-inline:10px;gap:10px}
 .workshop-scene>.workshop-console{padding:12px}
 .workshop-scene .production-flow section{padding:8px}
 .workshop-scene .workshop-batch{gap:4px}
 .workshop-scene .workshop-batch button{min-width:34px}
}
@media(min-width:801px){.workshop-scene{padding-top:12px}}
@media(max-width:800px){
 body.has-opening-tour:has(#opening-tour-host:not([hidden]):not(.opening-note-dismissed)) .workshop-scene{--facility-console-bottom:calc(var(--opening-guide-height,70px) + 30px);padding-bottom:var(--facility-console-bottom)}
}
/* Management sheets use the same quiet surfaces as the facility consoles. */
#modal .facility-sheet :is(.building-card,.facility-badge,.build-material-help){border:0!important;box-shadow:none!important;border-radius:14px}
#modal .facility-sheet button{border:0!important;box-shadow:none!important;min-height:40px;border-radius:10px}
#modal .facility-sheet .facility-heading{gap:12px}

/* Short screens keep every recipe control visible without a scrolling panel. */
@media(max-height:650px){
 .workshop-scene>.workshop-console{padding:10px}
 .workshop-scene .workshop-console-title{margin-bottom:8px;gap:8px}
 .workshop-scene .workshop-console h2{font-size:15px}
 .workshop-scene .production-flow section{padding:7px}
 .workshop-scene .production-flow :is(.workshop-materials,.workshop-result){gap:4px;margin-top:5px}
 .workshop-scene .production-flow :is(.workshop-materials,.workshop-result)>span{grid-template-columns:18px auto minmax(0,1fr)}
 .workshop-scene .production-flow .item-icon{width:18px!important;height:18px!important}
 .workshop-scene .workshop-batch{margin:8px 0;padding:4px}
 .workshop-scene .workshop-batch button{min-height:32px;padding:5px}
 .workshop-scene .production-actions{margin-top:8px}
 .workshop-scene .workshop-main-action{min-height:40px;padding:8px 10px}
}

.workshop-scene .workshop-input .item-icon{width:44px!important;height:44px!important}
/* Anvil category navigation and separate recipe screens. */
.workshop-picker .anvil-picker-hint{margin:4px 0 16px;color:#abc5cc;font-size:12px;line-height:1.5}
.workshop-picker:is([data-workshop-picker-station="anvil"],[data-workshop-picker-station="forge"],[data-workshop-picker-station="stove"]) .workshop-choice-list{padding:0 2px 12px;max-height:62dvh;overflow-x:hidden}
.anvil-category-home{display:grid;gap:12px}
#modal .anvil-category-toggle{display:flex;align-items:center;gap:13px;width:100%;min-height:100px;padding:16px;text-align:left;background:#203f4c;border:0;border-radius:16px;box-shadow:none;color:#eee4c7}
#modal .anvil-category-toggle:hover{background:#2b5360}
.anvil-category-icon{display:grid;place-items:center;flex:none;width:48px;height:54px;background:#132f3c;border-radius:12px}
.anvil-category-toggle>.anvil-category-icon+span{flex:1;min-width:0}
.anvil-category-toggle strong{display:block;font-size:17px;line-height:1.3}
.anvil-category-toggle small{display:block;margin-top:4px;font-size:11px;line-height:1.4;color:#bbd0d5}
.anvil-category-toggle em{display:block;margin-top:7px;font-size:10px;font-style:normal;color:#f0d895}
.anvil-category-chevron{display:grid;place-items:center;flex:none;width:28px;height:36px;color:#efdb9e}
.anvil-category-recipes{padding:0}
#modal .anvil-category-recipes .workshop-choice{border:0;box-shadow:none;background:#193746}
.anvil-category-recipes .workshop-recipe-icon .item-icon{width:42px!important;height:42px!important}
.anvil-category-recipes .workshop-recipe-heading{flex-wrap:wrap;gap:4px}
.anvil-category-recipes .workshop-unlocks{margin:18px 8px;color:#a9c5d1;font-size:11px}
#modal .anvil-category-back{display:inline-flex;align-items:center;gap:7px;width:auto;min-height:42px;margin:0 0 14px;padding:8px 12px;border:0;border-radius:10px;box-shadow:none;background:#203f4c;color:#d5e5e9;font-size:12px;font-weight:700}
.anvil-category-back svg{width:17px;height:17px;transform:rotate(180deg)}
#modal .workshop-picker:is([data-workshop-picker-station="anvil"],[data-workshop-picker-station="forge"],[data-workshop-picker-station="stove"]) [hidden]{display:none!important}

/* Missing ingredients remain actionable even when a recipe cannot be crafted. */
.workshop-recipe-choice{position:relative}
#modal .workshop-recipe-select{position:absolute;inset:0;z-index:1;width:100%;height:100%;padding:0;border:0;border-radius:15px;background:transparent;box-shadow:none}
#modal .workshop-recipe-select:disabled{opacity:1;cursor:default}
#modal .workshop-recipe-select:focus-visible{outline:2px solid #edcc7c;outline-offset:-3px}
.workshop-recipe-choice>.workshop-recipe-icon{flex:0 0 44px}
.workshop-recipe-choice>.workshop-recipe-body{flex:1;min-width:0}
#modal .workshop-material-link{position:relative;z-index:2;display:inline-flex;align-items:center;gap:5px;width:auto;min-height:28px;margin:-3px 0;padding:3px 2px;border:0;border-radius:5px;background:transparent;box-shadow:none;color:#ed9693;text-align:left;cursor:pointer}
#modal .workshop-material-link small{text-decoration:underline;text-underline-offset:3px;text-decoration-color:#ed969380}
#modal .workshop-material-link:hover{background:#ed96931a}
#modal .workshop-material-link:focus-visible{outline:2px solid #edcc7c;outline-offset:2px}

/* Ingredients align below the name, leaving the output icon column clear. */
#modal .workshop-choice.workshop-recipe-choice{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;column-gap:12px;row-gap:4px;padding:10px 12px;margin-bottom:8px}
#modal .workshop-recipe-choice>.workshop-recipe-body{display:contents}
#modal .workshop-recipe-choice .workshop-recipe-heading{grid-column:2;display:flex;flex-direction:column;gap:4px;min-width:0}
#modal .workshop-recipe-choice .workshop-recipe-heading>b{font-size:12px;line-height:1.35}
#modal .workshop-recipe-choice .workshop-recipe-meta{padding:0;font-size:9px}
#modal .workshop-recipe-choice .workshop-picker-output{grid-column:2;display:grid;grid-template-columns:repeat(var(--ingredient-columns,2),minmax(0,1fr));width:100%;max-width:calc(var(--ingredient-columns,2)*116px);gap:0 10px;margin:0}
#modal .workshop-recipe-choice .workshop-picker-output>span,#modal .workshop-recipe-choice .workshop-material-link{display:flex;align-items:center;gap:4px;min-width:0;min-height:18px;margin:0;padding:0;line-height:1.25}
#modal .workshop-recipe-choice .workshop-picker-output small{margin:0;font-size:9px;line-height:1.25}
#modal .workshop-recipe-choice .workshop-picker-output b{flex:none;font-size:9px}
#modal .workshop-recipe-choice .workshop-picker-output .item-icon{width:16px!important;height:16px!important;flex:none}
#modal .workshop-recipe-choice .workshop-recipe-description,#modal .workshop-recipe-body>em{grid-column:1/-1;margin:0}
#modal .workshop-recipe-choice>.recipe-storage-tile{position:relative;display:grid;place-items:center;width:48px;height:48px;align-self:start;padding:5px;box-sizing:border-box;border-radius:9px;background:#28504b;isolation:isolate}
#modal .recipe-storage-tile>.item-icon{width:34px!important;height:34px!important}
#modal .recipe-storage-tile .recipe-quantity{position:absolute;bottom:3px;right:3px;min-width:12px;padding:2px 3px;border-radius:4px;background:#0c252b;color:#fff0c3;font-size:9px;font-weight:700;line-height:1;text-align:center}
#modal .recipe-storage-tile .recipe-upgrade{position:absolute;top:3px;left:3px;display:flex;flex-direction:column;width:9px;color:#7ce3af}
.recipe-upgrade svg{display:block;width:9px;height:5px}
#modal .workshop-recipe-choice .workshop-picker-output>span,#modal .workshop-recipe-choice .workshop-material-link{min-height:18px!important;padding:0!important}
#modal .modal.workshop-picker-modal .workshop-picker .workshop-recipe-choice .workshop-picker-output>button.workshop-material-link{min-height:18px!important}
/* Single-input recipes keep their requirement beside the output tile. */
#modal .workshop-picker:is([data-workshop-picker-station="loom"],[data-workshop-picker-station="lumbermill"]) .workshop-recipe-choice{row-gap:3px;border:0;box-shadow:none}
#modal .workshop-picker:is([data-workshop-picker-station="loom"],[data-workshop-picker-station="lumbermill"]) .recipe-storage-tile{grid-column:1;grid-row:1/3;align-self:center}
#modal .workshop-picker:is([data-workshop-picker-station="loom"],[data-workshop-picker-station="lumbermill"]) .workshop-recipe-heading{grid-column:2;grid-row:1;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 8px}
#modal .workshop-picker:is([data-workshop-picker-station="loom"],[data-workshop-picker-station="lumbermill"]) .workshop-picker-output{grid-column:2;grid-row:2;grid-template-columns:minmax(0,1fr);gap:0}
#modal .workshop-picker:is([data-workshop-picker-station="loom"],[data-workshop-picker-station="lumbermill"]) .workshop-choice-list{padding:0 2px 4px}
#modal .workshop-picker:is([data-workshop-picker-station="loom"],[data-workshop-picker-station="lumbermill"]) .workshop-unlocks{margin:16px 0 4px;text-align:center;font-size:11px;color:#a9c5d1}
/* Cooking keeps effects beside the item, with evenly spaced ingredient rows. */
#modal .workshop-picker[data-workshop-picker-station="stove"] .workshop-recipe-choice{row-gap:4px;border:0;box-shadow:none}
#modal .workshop-picker[data-workshop-picker-station="stove"] .recipe-storage-tile{grid-column:1;grid-row:1/3;align-self:start}
#modal .workshop-picker[data-workshop-picker-station="stove"] .workshop-recipe-heading{grid-column:2;grid-row:1;flex-direction:row;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 8px}
#modal .workshop-picker[data-workshop-picker-station="stove"] .workshop-recipe-description{grid-column:2;grid-row:2;line-height:1.45;font-size:11px}
#modal .workshop-picker[data-workshop-picker-station="stove"] .workshop-picker-output{grid-column:2;margin-top:3px;gap:3px 10px}
#modal .workshop-picker[data-workshop-picker-station="stove"] .workshop-choice-list{padding:0 2px 4px}
#modal .workshop-picker[data-workshop-picker-station="stove"] .workshop-unlocks{margin:16px 0 4px;text-align:center;font-size:11px;color:#a9c5d1}

#modal .forge-recycle-choice{display:grid;grid-template-columns:44px minmax(0,1fr) 18px;gap:12px;padding:12px;border:0;box-shadow:none;align-items:start}
#modal .forge-recycle-choice>.recycle-art{display:grid;place-items:center;width:44px;height:44px;border-radius:9px;background:#28504b}
#modal .forge-recycle-choice .recycle-copy{min-width:0}
#modal .forge-recycle-choice .recycle-yield-label{display:block;margin:5px 0 2px;font-size:9px;color:#aac4cb}
#modal .forge-recycle-choice .workshop-picker-output{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px;margin:0}
#modal .forge-recycle-choice .workshop-picker-output>span{gap:4px;min-height:22px}
#modal .forge-recycle-choice .workshop-picker-output .item-icon{width:16px!important;height:16px!important;flex:none}
#modal .forge-recycle-choice .workshop-picker-output small{font-size:10px}
#modal .forge-recycle-choice .recycle-arrow{color:#efdb9e;align-self:center}
#modal .forge-recycle-choice .recycle-arrow svg{width:18px;height:18px}
#modal .workshop-picker[data-workshop-picker-station="forge"] .workshop-recipe-choice{border:0;box-shadow:none}

#modal .forge-recycle-choice>.recycle-art{position:relative}
.recycle-art .recycle-comparison{position:absolute;top:3px;left:3px;display:flex;flex-direction:column;width:9px;color:#7ce3af}
.recycle-comparison svg{display:block;width:9px;height:5px}
.recycle-art .recycle-comparison.downgrade{color:#f0747b;transform:rotate(180deg)}
.recycle-comparison-label.upgrade{color:#7ce3af}
.recycle-comparison-label.downgrade{color:#f0747b}

#modal .recycle-art .recycle-owned{position:absolute;bottom:3px;right:3px;max-width:100%;padding:2px 3px;border-radius:4px;background:#0c252b;color:#fff0c3;font-size:9px;font-weight:700;line-height:1}
#modal .recycle-art .recycle-tier{position:absolute;top:3px;right:3px;color:#e8edda;font-size:8px;font-weight:700;line-height:1}

/* Restored original Radio Room scene. */
.room-radio{background:radial-gradient(ellipse at 50% 34%,transparent 10%,#061a2a99 76%,#020b13c7 100%),linear-gradient(180deg,#071b2b88,#0a283733 26%,#06192566 58%,#020b13c7),url('assets/Current/scenes/facilities/radio-room.webp') center/cover!important}.room-radio{min-height:0;isolation:isolate}
body:has(.room-radio) .main-content{background:linear-gradient(180deg,#071b2ba8,#08233155 40%,#020b13c2),url('assets/Current/scenes/facilities/radio-room.webp') center/cover;background-attachment:fixed}

/* Extend the scene behind the dock's rounded corners without moving controls. */
.workshop-scene{isolation:isolate;overflow:visible}
.workshop-scene::after{content:"";position:fixed;inset:0;z-index:-1;background:inherit;pointer-events:none}

/* Keep the decoded base and camera mounted while a facility covers them. */
.base-layout[inert]{visibility:hidden;pointer-events:none}
/* All production stations show their three places; unavailable places stay quiet. */
.workshop-scene .anvil-craft-spots>.anvil-craft-spot{position:relative;left:auto;top:auto;transform:none;width:var(--anvil-control-size);height:var(--anvil-control-size);border:0;background:#0b273cbd;box-shadow:0 6px 20px #031b2755;backdrop-filter:blur(3px)}
.workshop-scene .anvil-craft-spots>.anvil-craft-spot>strong{display:block;line-height:1}
.workshop-scene .anvil-craft-spots>.anvil-craft-spot.is-locked{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:#102a36a8;color:#94a8ab;box-shadow:none;opacity:.85;cursor:default}
.workshop-scene .anvil-craft-spot.is-locked>span{display:block;font-size:20px;line-height:1}
.workshop-scene .anvil-craft-spot.is-locked em{position:static;display:block;transform:none;margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;font-size:10px;line-height:1;color:#bed0cf;text-align:center}
.workshop-scene .production-flow .workshop-materials>button.workshop-material-short{display:grid;grid-template-columns:22px auto minmax(0,1fr);gap:4px;align-items:center;width:100%;min-height:27px;padding:3px 5px;border:0;border-radius:8px;background:#663b3b9c;box-shadow:none;color:#ffc0af;text-align:left;cursor:pointer}
.workshop-scene .production-flow .workshop-materials>button.workshop-material-short small{color:inherit;text-decoration:underline;text-underline-offset:2px}
.workshop-scene .production-flow .workshop-materials>button.workshop-material-short:hover{background:#854545b8}


.workshop-batch .workshop-quantity-input{width:58px;min-width:0;min-height:34px;padding:5px 4px;border:0;border-radius:7px;background:#203e4b;color:#f4e8c7;text-align:center;font:inherit;font-size:14px;font-weight:700;appearance:textfield;box-shadow:none}
.workshop-batch .workshop-quantity-input::-webkit-inner-spin-button,.workshop-batch .workshop-quantity-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.workshop-batch .workshop-quantity-input:focus-visible{outline:2px solid #e7ba65;outline-offset:2px}

/* Crafting uses a simple input work area instead of the old room closeups. */
.workshop-scene:is(.workshop-forge,.workshop-anvil,.workshop-stove,.workshop-loom,.workshop-lumbermill,.workshop-bench){
 background:radial-gradient(ellipse at 50% 23%,#25535a 0%,#163b47 40%,#0d2937 100%);
}
.workshop-scene:is(.workshop-forge,.workshop-anvil,.workshop-stove,.workshop-loom,.workshop-lumbermill,.workshop-bench)>.workshop-stage{
 position:relative;inset:auto;display:flex;flex:1 1 170px;flex-direction:column;align-items:stretch;justify-content:center;gap:18px;
 width:min(560px,100%);height:auto;min-height:130px;max-width:560px;margin:0 auto;padding:18px;box-sizing:border-box;
 border:0;border-radius:20px;background:#163642d9;box-shadow:0 14px 35px #04172340;
}
.workshop-workarea-head{display:flex;flex-direction:column;align-items:center;gap:4px;margin:0;color:#b5cdd0;font-size:11px;line-height:1.45;text-align:center}

.workshop-workarea-head>strong{color:#f0e2bf;font-size:18px;font-weight:650}
.workshop-workarea-head>small{color:#b5cdd0;font-size:11px;line-height:1.45}
.workshop-scene>.workshop-console:not(:has(> *)){display:none}
.workshop-scene:is(.workshop-forge,.workshop-anvil,.workshop-stove,.workshop-loom,.workshop-lumbermill,.workshop-bench) .anvil-craft-spots{
 position:relative;inset:auto;transform:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;max-width:340px;margin:0 auto;
}
.workshop-scene:is(.workshop-forge,.workshop-anvil,.workshop-stove,.workshop-loom,.workshop-lumbermill,.workshop-bench) .anvil-craft-spots>.anvil-craft-spot{
 width:100%;height:88px;min-width:0;border:0;border-radius:15px;background:#0e2b39;box-shadow:0 5px 16px #031b2840;backdrop-filter:none;
}
.workshop-scene:is(.workshop-forge,.workshop-anvil,.workshop-stove,.workshop-loom,.workshop-lumbermill,.workshop-bench) .anvil-craft-spots>.anvil-craft-spot.is-selected{background:#28535a;box-shadow:0 8px 22px #061b2866}
.workshop-scene:is(.workshop-forge,.workshop-anvil,.workshop-stove,.workshop-loom,.workshop-lumbermill,.workshop-bench) .anvil-craft-spots>.anvil-craft-spot.is-ready{background:#255d50}
.workshop-scene:is(.workshop-forge,.workshop-anvil,.workshop-stove,.workshop-loom,.workshop-lumbermill,.workshop-bench) .anvil-craft-spot em{bottom:5px;background:transparent;color:#c8e3df;font-size:10px}
.workshop-scene:is(.workshop-forge,.workshop-anvil,.workshop-stove,.workshop-loom,.workshop-lumbermill,.workshop-bench)>.workshop-console{
 position:relative;inset:auto;flex:none;width:min(560px,100%);max-height:min(48dvh,470px);margin:0 auto;overflow-y:auto;overscroll-behavior:contain;
}
@media(max-height:650px){
 .workshop-scene:is(.workshop-forge,.workshop-anvil,.workshop-stove,.workshop-loom,.workshop-lumbermill,.workshop-bench)>.workshop-stage{gap:10px;min-height:112px;padding:12px}
 .workshop-scene:is(.workshop-forge,.workshop-anvil,.workshop-stove,.workshop-loom,.workshop-lumbermill,.workshop-bench) .anvil-craft-spots>.anvil-craft-spot{height:66px}
 .workshop-scene:is(.workshop-forge,.workshop-anvil,.workshop-stove,.workshop-loom,.workshop-lumbermill,.workshop-bench)>.workshop-console{max-height:50dvh}
}
