.production-mode{grid-template-columns:minmax(0,1fr)}.production-mode .canvas-column{padding:30px 32px}.production-mode .page-heading{margin-bottom:25px}.production-mode h1{font-size:29px}.production-mode h1 em{font-size:33px}.view-tabs{gap:22px}.view-tabs button{white-space:nowrap}.production-mode .goal-badge{display:flex}.production-mode .view-toolbar{margin-bottom:18px}.item-icon{display:inline-block;position:relative;overflow:hidden;vertical-align:middle;flex-shrink:0}.item-icon>i{display:block;position:absolute;inset:0 auto auto 0;width:64px;height:64px;background-image:url('assets/production-icons.webp');background-repeat:no-repeat;transform-origin:0 0}.item-fallback{display:inline-grid;place-content:center;flex-shrink:0;font-size:26px}.production-controls{display:flex;align-items:center;gap:30px;padding:19px 22px;background:#25272f;border:1px solid #44464e;border-radius:4px 4px 0 0}.target-summary{display:flex;align-items:center;gap:13px}.target-summary small,.quantity-control{font:12px var(--mono);letter-spacing:1px;color:#acadb6}.target-summary strong{display:block;font-size:18px;font-weight:500;margin-top:5px}.quantity-control{margin-left:auto;display:flex;align-items:center;gap:10px;white-space:nowrap}.quantity-control input{width:95px;padding:9px;background:#1b1d25;border:1px solid #52545c;border-radius:3px;color:#e1d5ac;font:16px var(--mono);text-align:right}.production-control-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.production-control-actions button{font-size:15px;color:var(--accent)}.production-control-actions button:last-child{font-size:13px;color:#a4a5ae}.production-recipe-bar{padding:12px 20px;display:flex;align-items:center;gap:22px;border:1px solid #3c3e46;border-top:0;background:#20222a}.production-recipe-bar label{font:12px var(--mono);color:#a0a1aa;display:flex;align-items:center;gap:12px}.production-recipe-bar select{max-width:320px;width:260px;padding:6px 9px;font-size:15px}.production-recipe-bar>span{font:13px var(--mono);margin-left:auto;color:#b1b2bb}.production-recipe-bar>button{font-size:15px;color:#d1bd89}.production-legend{display:flex;gap:20px;align-items:center;padding:14px 16px;font:12px var(--mono);color:#a7a8b1;border:1px solid #363840;border-top:0;background:#1c1e26}.production-legend>span{display:flex;align-items:center;gap:6px;white-space:nowrap}.production-legend i{width:6px;height:6px;border-radius:2px;border:1px solid #878891}.supply-key{background:#767780}.machine-key{background:#b29969}.product-key{background:#abacb5}.production-legend small{font:13px var(--sans);color:#8e8f98;margin-left:auto;text-align:right}.production-content{border:1px solid #393b43;border-top:0;background:#1c1e26;overflow:hidden}.production-tree-scroll{height:400px;overflow:auto;overscroll-behavior:contain;background:radial-gradient(#494b5377 .65px,transparent .65px) 0 0/18px 18px}.production-tree{position:relative;min-height:100%}.production-wires{position:absolute;inset:0;overflow:visible;pointer-events:none}.production-wires path{fill:none;stroke:#6e6f78;stroke-width:1.6}.supply-node{position:absolute;width:162px;min-height:68px;display:flex;gap:8px;align-items:center;padding:11px 9px;border:1px solid #4b4d55;border-radius:4px;background:#25272f}.supply-node strong{font-size:15px;font-weight:500;line-height:1.4;display:block}.supply-node small{display:block;font:11px var(--mono);letter-spacing:.5px;color:#9899a2;margin-top:5px}.supply-node button{flex-shrink:0;font-size:17px;color:#cfbc88;margin-left:auto;width:20px;padding:0;border:1px solid #575961;border-radius:3px;background:#30323a}.recipe-node{position:absolute;width:258px;height:231px;background:#272931;border:1px solid #6b6c75;border-radius:5px;padding:15px;box-shadow:0 3px 12px #0002}.recipe-node.target{border-color:#c0a566;background:#2c2e36}.recipe-node.built{border-color:#aaabb4;box-shadow:inset 0 0 0 1px #aaabb44a}.recipe-node-heading{display:flex;align-items:center;gap:10px}.recipe-node-heading span{font:11px var(--mono);letter-spacing:.7px;color:#acadb6}.recipe-node-heading h3{font-size:16px;font-weight:550;line-height:1.3;margin:6px 0 0}.machine-picker{display:flex;align-items:center;gap:9px;min-width:0}.machine-picker>span:last-child{min-width:0;flex:1}.machine-picker small{display:block;font:11px var(--mono);letter-spacing:.6px;color:#a8a9b2;margin-bottom:4px}.machine-picker select{max-width:230px;width:100%;font:16px var(--sans);color:#e5dbbc;padding:4px 0;background:transparent;border:0;white-space:normal}.machine-picker.compact{padding:10px 0;margin-top:9px;border-top:1px solid #484a52;border-bottom:1px solid #484a52}.machine-picker.compact select{font-size:16px;padding:2px 0;max-width:184px}.machine-picker.compact small{font-size:11px}.node-inputs{font-size:13px;color:#c5c6cf;line-height:1.8;margin-top:10px;max-height:44px;overflow:auto}.node-inputs>small{font:11px var(--mono);color:#a6a7b0;display:block;letter-spacing:.5px}.node-inputs b{color:#7c7d86;font-weight:400}.node-byproducts{font:11px var(--mono);color:#b1b2bb;line-height:1.7;margin-top:9px;max-height:23px;overflow:auto}.node-actions{position:absolute;bottom:11px;left:14px;right:14px;display:flex;justify-content:space-between;gap:7px;border-top:1px solid #484a52;padding-top:9px}.node-actions button{font-size:12px;padding:0;color:#d5c38f}.node-actions .built-toggle{color:#abacb5}.built-toggle[aria-pressed=true]{color:#d6d7e0}.production-bottom{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;padding:3px 20px 18px;border:1px solid #393b43;border-top:0;background:#21232b;border-radius:0 0 4px 4px}.production-bottom .section-label{margin-top:18px}.supply-summary{border-right:1px solid #3d3f47;padding-right:25px}.supply-chips{display:flex;gap:7px;flex-wrap:wrap}.material-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid #44464e;background:#282a32;border-radius:3px;padding:5px 7px;font-size:15px;color:#c3c4cd;line-height:1.4;text-align:left}.material-chip strong{font-weight:650;color:#e4dfc6;font-family:var(--mono);font-size:15px}.material-chip:hover{background:#35373f;filter:none}.formula-plus{font-size:15px;color:#8a8b94;padding:0 5px}.supply-summary>p{font-size:13px;color:#9899a2;line-height:1.8;margin:13px 0 0;max-width:390px}.production-note{display:flex;gap:10px;margin:16px 3px 8px;color:#c8b882}.production-note>span{font-size:20px}.production-note p{font-size:15px;color:#9899a2;line-height:1.9;margin:0;max-width:780px}.production-note strong{color:#bfc0c9;font-weight:500}.production-footnote{font:12px var(--mono);line-height:1.8;color:#7e7f88;margin:0 3px 14px;max-width:900px}.production-warning{padding:10px 15px;background:#383322;color:#d1bc88;border:1px solid #655c38;font-size:16px;line-height:1.7}.guide-intro{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:22px;background:#22242c;border-bottom:1px solid #43454d}.guide-intro h2{font-size:20px;font-weight:500;letter-spacing:-.4px;margin:8px 0 0}.guide-intro>span{font-size:15px;color:#acadb6}.guide-scroll{overflow:auto;max-height:610px}.guide-table{width:100%;border-collapse:collapse;text-align:left;min-width:680px}.guide-table thead{position:sticky;top:0;z-index:1}.guide-table th{font:12px var(--mono);letter-spacing:.7px;color:#a3a4ad;background:#282a32;padding:14px}.guide-table td{padding:20px 14px;border-bottom:1px solid #3f4149;vertical-align:top;background:#20222a}.guide-table td:first-child{width:55px}.guide-table td:nth-child(2){width:230px}.guide-table td:nth-child(3){min-width:280px}.step-number{display:grid;place-content:center;width:30px;height:30px;border:1px solid #6c6d76;font:16px var(--mono);color:#d3bf88;background:#2e3038;border-radius:50%}.table-formula>div{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.recipe-arrow{display:block;color:#c7b57d;font-size:20px;margin:8px 15px}.table-formula .material-chip{font-size:15px;padding:5px 7px}.table-formula .formula-plus{padding:0 2px}.byproduct-output{display:flex;align-items:center;gap:5px}.byproduct-output>small{font:11px var(--mono);color:#a0a1aa}.recipe-option-link,.machine-build-link{font-size:12px;color:#a1a2ab;padding:0;margin-top:13px;text-align:left;display:block}.machine-build-link{margin-left:43px;font-size:12px;line-height:1.7}.batch-cell{font:16px var(--mono);white-space:nowrap;color:#d3c28d}.batch-cell small{display:block;font:12px var(--sans);color:#9798a1;line-height:1.6;margin-top:8px}.step-check{border:1px solid #6e6f78;border-radius:3px;width:28px;height:28px;background:#2a2c34;color:#bbbcc5;font-size:18px;padding:0}.step-check[aria-pressed=true]{background:#52545c;color:#eaebf4}.step-built td{background:#25272f}.compatible-machines{display:grid;grid-template-columns:1fr 1fr;gap:8px}.compatible-machines button{display:flex;align-items:center;gap:9px;background:#2d2f37;border:1px solid #4d4f57;padding:10px;text-align:left;font-size:16px}.detail-recipe-equation{border:1px solid #4b4d55;padding:15px;margin-top:20px}.detail-recipe-equation .material-chip{margin:3px}.detail-recipe-equation .recipe-arrow{margin:8px}.option-label{display:block;color:#b4b5be;font-size:16px;margin-top:12px}.option-label select{display:block;width:100%;max-width:100%;padding:10px;margin-top:7px;font-size:16px}#production-dialog{width:min(720px,94vw)}#production-dialog .dialog-header{font:12px var(--mono);color:#aaabb4}#production-dialog-content h2{font-size:28px;font-weight:500;letter-spacing:-.5px}.no-machine{font-size:15px;color:#a6a7b0}.search-results .item-icon{flex-shrink:0}
@media(min-width:1500px){.production-mode .canvas-column{padding:34px 45px}.production-tree-scroll{height:440px}}
@media(max-width:1250px){.production-mode .goal-badge{display:none}.production-mode .canvas-column{padding:28px 24px}.production-legend{gap:15px}.production-legend small{max-width:200px}.view-tabs{gap:17px}.view-tabs button{font-size:15px}.production-controls{gap:20px}.production-recipe-bar{gap:12px}}
@media(max-width:950px){.production-mode h1{font-size:24px}.production-mode h1 em{font-size:28px}.production-controls{padding:16px;gap:15px;flex-wrap:wrap}.quantity-control{margin-left:auto}.production-control-actions{flex-direction:row;width:100%;justify-content:flex-end}.production-recipe-bar{padding:10px 16px;flex-wrap:wrap}.production-recipe-bar label{flex:1}.production-recipe-bar select{width:200px;max-width:100%}.production-recipe-bar>span{font-size:12px}.production-recipe-bar>button{font-size:13px}.production-legend{flex-wrap:wrap;gap:12px}.production-legend small{max-width:none;text-align:left;width:100%;margin-left:0}.production-bottom{grid-template-columns:1fr;gap:0}.supply-summary{border-right:0;border-bottom:1px solid #3f4149;padding:0 0 15px}.view-tabs{gap:16px;overflow-x:auto}.view-toolbar{gap:10px}.view-tabs button{font-size:13px}.production-mode .canvas-column{padding:25px 18px}.guide-intro{padding:18px}.guide-intro h2{font-size:18px}}
@media(max-width:600px){.production-mode h1 em{display:block}.production-mode .canvas-column{padding:22px 14px}.production-controls{gap:12px}.target-summary{gap:9px}.target-summary strong{font-size:16px}.quantity-control{font-size:11px;gap:5px}.quantity-control input{width:75px}.production-control-actions{justify-content:space-between}.production-recipe-bar label{width:100%;flex:auto}.production-recipe-bar select{flex:1;width:auto;max-width:280px}.production-recipe-bar>span{margin-left:0}.production-recipe-bar>button{margin-left:auto}.production-legend{font-size:11px;gap:13px}.production-tree-scroll{height:370px}.production-bottom{padding:0 14px 16px}.view-tabs{gap:17px}.view-tabs button{font-size:13px}.view-tabs button span{display:none}.guide-intro{display:block}.guide-intro>span{display:block;margin-top:10px}.compatible-machines{grid-template-columns:1fr}.production-note p{font-size:13px}}
.machine-label{display:block;font-size:16px;font-weight:500;line-height:1.5;color:#e0d6b7}.machine-picker:not(.compact) select{font-size:12px;color:#a1a2ab}
.quantity-apply{border:1px solid #6e6f78;background:#35373f;border-radius:3px;width:29px;height:34px;flex-shrink:0;color:#e2ce91;margin-left:-17px}.unlocked-recipes{font-size:15px;color:#bcbdc6;margin:15px 0;line-height:1.8}.unlocked-recipes .requirement{gap:7px}
.recipe-node{height:257px}.machine-picker.compact select{font-size:11px;color:#a2a3ac}.machine-picker.compact .machine-label{font-size:15px;line-height:1.5}.machine-picker.compact{padding:8px 0}.node-inputs{margin-top:8px}
.supply-node.fluid-input{border-left:3px solid #7ebdd5}.production-edge>path{stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}.production-wires .production-edge{pointer-events:stroke}.production-control-actions #expand-layer{max-width:170px;text-align:right;line-height:1.5}
.supply-node small{font-size:11px;letter-spacing:0;line-height:1.4}.production-edge:hover>path{stroke-width:3}
@media(min-width:781px) and (max-width:950px){.production-controls{flex-wrap:nowrap;gap:18px}.production-control-actions{width:auto;flex-direction:column;flex-shrink:0}.target-summary strong{font-size:16px}.quantity-control{font-size:11px;gap:7px}.quantity-control input{width:80px}}

.version-comparison{width:100%;border-collapse:collapse;margin:18px 0;font-size:16px}.version-comparison caption{text-align:left;color:var(--muted);font-size:16px;padding-bottom:10px}.version-comparison th,.version-comparison td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line)}.version-comparison thead th{font-size:15px;color:var(--muted)}.version-comparison tbody th{font-weight:500}.version-comparison td{font-family:var(--mono);white-space:nowrap}.version-comparison .version-diff{background:#d9b8790d;color:var(--accent)}

/* Readable recipe-guide layout. Diagram dimensions match production-layout.js. */
body { font-size:16px; line-height:1.6; }
:root { --muted:#b0b1ba; }
.sidebar { width:250px; }
main { margin-left:250px; }
.brand small { font-size:10px; letter-spacing:1px; }
.edition { font-size:11px; padding-bottom:20px; }
.nav-label { font-size:11px; margin-top:14px; }
.nav-item { font-size:15px; padding:11px 10px; }
.milestone-link { font-size:14px; padding:9px 10px; line-height:1.5; }
.text-button { font-size:14px; padding:12px 0; }
.sidebar-bottom { padding-top:20px; }
.topbar { gap:18px; }
.breadcrumb { font-size:11px; }
.search-wrap { width:min(480px,100%); height:44px; max-width:540px; }
.search-wrap input { font-size:16px; }
.search-results { width:min(540px,85vw); }
.search-result strong { font-size:16px; }
.search-result small { font-size:12px; }
h1,.production-mode h1 { font-size:32px; letter-spacing:-.6px; line-height:1.25; margin:10px 0; }
.page-heading p { font-size:16px; line-height:1.7; }
.eyebrow { font-size:11px; letter-spacing:1px; }
.goal-badge { display:none!important; }
.view-toolbar { align-items:flex-end; }
.view-tabs { gap:24px; overflow-x:auto; min-width:0; }
.view-tabs button { font-size:15px; padding-bottom:14px; line-height:1.5; }
.view-tabs button span { font-size:11px; }
.subtle-button { font-size:14px; white-space:nowrap; }
.production-controls { padding:20px 24px; gap:20px; flex-wrap:wrap; }
.target-summary strong { font-size:21px; }
.target-summary small,.quantity-control { font-size:11px; }
.quantity-control input { font-size:17px; height:44px; }
.quantity-apply { height:44px; width:40px; margin-left:-10px; }
.production-control-actions { margin-left:auto; }
.production-control-actions button,.production-control-actions button:last-child { font-size:14px; }
.production-control-actions #expand-layer { max-width:240px; text-align:left; }
.production-recipe-bar { flex-wrap:wrap; gap:16px; padding:14px 24px; }
.production-recipe-bar label { font-size:11px; flex:1; min-width:220px; }
.production-recipe-bar select { font-size:15px; width:min(380px,100%); max-width:100%; min-width:0; padding:9px; }
.production-recipe-bar>button { font-size:14px; margin-left:auto; }
.production-legend { font:12px var(--sans); padding:14px 24px; gap:22px; flex-wrap:wrap; }
.production-legend small { font-size:13px; max-width:none; width:100%; text-align:left; color:#b3b4bd; }
.production-tree-scroll { height:500px; }
.recipe-node { padding:20px; }
.recipe-node-heading span { font-size:11px; line-height:1.5; letter-spacing:0; }
.recipe-node-heading h3 { font-size:20px; line-height:1.35; margin-top:6px; }
.supply-node { padding:14px 12px; gap:10px; }
.supply-node>div { min-width:0; }
.supply-node strong { font-size:16px; line-height:1.4; }
.supply-node small { font-size:11px; line-height:1.4; color:#b6b7c0; }
.supply-node button { min-width:28px; min-height:32px; font-size:22px; }
.machine-picker { gap:10px; }
.machine-picker>span:last-child { position:relative; padding-right:16px; }
.machine-picker small,.machine-picker.compact small { font-size:11px; }
.machine-label,.machine-picker.compact .machine-label { font-size:16px; line-height:1.5; color:#ece4cc; }
.machine-label::after { content:'⌄'; color:var(--accent); position:absolute; right:0; top:25px; }
.machine-picker select,.machine-picker.compact select,.machine-picker:not(.compact) select { position:absolute; inset:0; width:100%; max-width:none; height:100%; opacity:0; cursor:pointer; font-size:16px; }
.machine-picker:focus-within { outline:2px solid var(--accent); outline-offset:4px; border-radius:2px; }
.machine-picker.compact { margin-top:14px; padding:12px 0; }
.node-inputs { font-size:15px; line-height:1.6; max-height:74px; margin-top:12px; }
.node-inputs>small { font-size:11px; margin-bottom:3px; }
.node-byproducts { font:12px/1.5 var(--sans); max-height:38px; margin-top:10px; color:#bcbdc6; }
.node-actions { bottom:16px; left:20px; right:20px; padding-top:10px; }
.node-actions button { font-size:14px; }
.node-actions [data-collapse] { min-width:28px; }
.production-bottom { padding:6px 24px 24px; gap:24px; }
.section-label { font-size:11px; line-height:1.6; gap:12px; }
.material-chip,.table-formula .material-chip { font-size:16px; padding:8px 10px; gap:8px; }
.material-chip strong { font-size:16px; }
.supply-summary>p { font-size:14px; max-width:580px; line-height:1.7; }
.production-note p { font-size:15px; line-height:1.75; color:#b9bac3; }
.production-footnote { font:13px/1.7 var(--sans); color:#a1a2ab; }
.guide-intro { padding:22px 24px; flex-wrap:wrap; }
.guide-intro h2 { font-size:24px; }
.guide-intro>span { font-size:14px; }
.guide-scroll { max-height:none; overflow-x:auto; }
.guide-table { min-width:850px; }
.guide-table th { font-size:11px; padding:16px; }
.guide-table td { padding:24px 16px; }
.guide-table td:nth-child(2) { width:270px; min-width:240px; }
.guide-table td:nth-child(3) { min-width:300px; }
.byproduct-output { flex-wrap:wrap; }
.byproduct-output>small { font-size:10px; }
.recipe-option-link,.machine-build-link { font-size:13px; margin-top:16px; line-height:1.6; }
.machine-build-link { margin-left:0; }
.batch-cell { font-size:16px; }
.batch-cell small { font-size:13px; }
.step-number { width:34px; height:34px; font-size:14px; }
.option-label,.option-label select { font-size:16px; }
.compatible-machines button { font-size:15px; }
#production-dialog { width:min(860px,94vw); padding:28px; }
#production-dialog-content { font-size:16px; line-height:1.75; }
#production-dialog .dialog-header { font-size:11px; }
#production-dialog-content h2 { font-size:28px; line-height:1.3; }
#production-dialog-content h3 { font-size:20px; margin-top:28px; }
.version-comparison { font-size:15px; }
.version-comparison caption { font-size:14px; }
.version-comparison th,.version-comparison td { padding:10px 12px; }
.version-comparison thead th { font-size:12px; }
.tiny-note { font-size:14px; line-height:1.7; }
.map-heading { font-size:12px; line-height:1.6; flex-wrap:wrap; }
.map-heading select { font-size:13px; }
.milestone-card { width:260px; height:120px; padding:18px; }
.milestone-card strong,.tech-card strong { font-size:16px; }
.milestone-card small,.tech-card small { font-size:12px; }
.milestone-card .step-no { font-size:10px; }
.tech-card { width:260px; min-height:100px; padding:16px; }
.inspector { padding:28px; }
.inspector h2 { font-size:27px; }
.detail-description,.requirement,.select-tech { font-size:16px; }
.detail-id,.detail-kicker,.inspector-top,.detail-facts small { font-size:12px; }
.requirement { padding:12px 0; line-height:1.6; }
.requirement strong { font-size:15px; }
.primary-button,.detail-tree { font-size:15px; padding:12px 0; }
.detail-facts { font-size:20px; }
.source-link { font-size:14px; }
.cost-chip { font-size:14px; padding:7px; }
.list-row { padding:14px; }
.select-tech small { font-size:13px; }
.field-note p { font-size:14px; max-width:750px; }
.legend { font-size:13px; }
.app-footer { font-size:12px; line-height:1.6; padding:18px 32px; gap:20px; }
@media(min-width:1101px) { .workspace:not(.production-mode) { grid-template-columns:minmax(0,1fr) 360px; } }
@media(max-width:1100px) and (min-width:781px) {
  .sidebar { width:230px; }
  main { margin-left:230px; }
  .brand { font-size:21px; }
  .production-controls { gap:16px; }
  .production-control-actions { width:100%; flex-direction:row; justify-content:space-between; }
  .view-tabs { gap:20px; }
  .view-tabs button { font-size:14px; }
}
@media(max-width:780px) {
  .sidebar { width:100%; padding:16px; }
  main { margin-left:0; }
  .edition { font-size:10px; padding:0; }
  .topbar { height:auto; min-height:70px; padding:12px 16px; }
  .mobile-tools { font-size:13px; }
  .production-mode .canvas-column { padding:24px 16px; }
  .production-control-actions { width:100%; flex-direction:row; justify-content:space-between; }
  .production-recipe-bar { padding:14px 16px; }
  .production-recipe-bar label { width:100%; flex:auto; }
  .production-recipe-bar select { flex:1; }
  .production-legend { padding:14px 16px; gap:16px; }
  .production-legend>span { white-space:normal; }
  .production-tree-scroll { height:500px; }
  .view-tabs button { font-size:14px; }
  .view-tabs button span { display:none; }
  .view-toolbar { flex-wrap:wrap; }
  .view-tabs { width:100%; }
  h1,.production-mode h1 { font-size:28px; }
  .production-bottom { padding:8px 16px 20px; gap:0; }
  .guide-intro { padding:20px 16px; }
  .app-footer { flex-wrap:wrap; padding:18px 16px; }
  #production-dialog { padding:22px; }
}
@media(max-width:450px) {
  .sidebar { gap:8px; }
  .brand small { font-size:9px; }
  .brand { font-size:18px; }
  .edition { max-width:142px; }
  .quantity-control { margin-left:0; }
  .target-summary { width:100%; }
  .quantity-apply { margin-left:0; }
  .production-control-actions { gap:16px; }
}
@media(max-width:1100px) {
  .guide-table { min-width:0; }
  .guide-table thead { display:none; }
  .guide-table tbody { display:block; }
  .guide-table tr { display:grid; grid-template-columns:42px minmax(0,1fr); gap:0 14px; padding:24px 16px; border-bottom:1px solid #3f4149; background:#20222a; }
  .guide-table td { display:block; width:auto!important; min-width:0!important; padding:0; border:0; }
  .guide-table td:first-child { grid-column:1; grid-row:1 / span 3; }
  .guide-table td:nth-child(2) { grid-column:2; margin-bottom:20px; }
  .guide-table td:nth-child(3) { grid-column:2; }
  .guide-table td:nth-child(4) { grid-column:2; margin-top:18px; }
  .table-formula::before { content:'INGREDIENTS → OUTPUTS'; display:block; font:11px var(--mono); color:#b1b2bb; margin-bottom:10px; }
  .batch-cell::before { content:'Batches: '; font:13px var(--sans); color:#b1b2bb; }
  .batch-cell small { display:inline; margin-left:12px; }
}

.recipe-node { display:flex; flex-direction:column; }
.recipe-node-heading { flex-shrink:0; max-height:92px; overflow:auto; }
.machine-picker.compact { flex-shrink:0; }
.node-inputs { flex-shrink:1; min-height:24px; }
.node-byproducts { flex-shrink:0; }
.node-actions { position:static; flex-shrink:0; margin-top:auto; padding-top:10px; }
/* Recipe selection with research tiers and per-batch ingredients. */
.recipe-picker-field { flex:1; min-width:min(100%,300px); }
.picker-field-label,.picker-tier-label { font:11px var(--mono); color:#b2b3bc; letter-spacing:.4px; }
.picker-field-label { margin-bottom:8px; }
.recipe-picker { position:relative; min-width:0; }
.recipe-picker-trigger { display:block; width:100%; text-align:left; border:1px solid #60626a; border-radius:5px; padding:14px 16px; background:#2a2c34; color:var(--text); }
.recipe-picker-trigger:hover { filter:none; background:#30323a; }
.recipe-picker-trigger[aria-expanded=true] { border-color:var(--accent); }
.picker-selected-title { display:flex; align-items:center; gap:10px; font-size:16px; line-height:1.5; }
.picker-selected-title strong { font-weight:600; }
.picker-chevron { margin-left:auto; color:var(--accent); font-size:22px; }
.picker-selected-inputs { display:block; font-size:13px; color:#c1c2cb; line-height:1.7; margin:6px 0 10px; overflow-wrap:anywhere; }
.picker-selected-tier,.recipe-choice-tiers { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.recipe-tier { display:inline-flex; align-items:center; gap:6px; border:1px solid color-mix(in srgb,var(--tier-color,#a9aab3) 50%,#383a42); background:color-mix(in srgb,var(--tier-color,#a9aab3) 9%,#1d1f27); border-radius:4px; padding:4px 8px; font-size:13px; line-height:1.5; color:#e9eaf3; }
.recipe-tier.special,.recipe-tier.unknown { color:#e0c48b; border-color:#8b754b; }
.recipe-tier.starting { color:#c9cad3; }
.recipe-menu { position:absolute; top:calc(100% + 8px); left:0; width:100%; min-width:0; z-index:30; overflow:auto; overscroll-behavior:contain; background:#20222a; border:1px solid #797a83; border-radius:6px; box-shadow:0 16px 40px #0009; }
.recipe-menu.above { top:auto; bottom:calc(100% + 8px); }
.recipe-menu-heading { display:flex; align-items:center; flex-wrap:wrap; gap:4px 16px; padding:14px 16px; color:#ece6d0; font-size:15px; background:#2a2c34; border-bottom:1px solid #4a4c54; }
.recipe-menu-heading>span { margin-left:auto; font-size:12px; color:#b8b9c2; }
.recipe-choice { display:block; width:100%; text-align:left; padding:17px 16px; border-bottom:1px solid #43454d; color:var(--text); background:#20222a; }
.recipe-choice:hover,.recipe-choice:focus { background:#30323a; filter:none; outline:2px solid #d9b879; outline-offset:-3px; }
.recipe-choice[aria-selected=true] { background:#2e3038; box-shadow:inset 3px 0 var(--accent); }
.recipe-choice-title { display:flex; align-items:center; gap:10px; margin-bottom:9px; font-size:16px; line-height:1.5; }
.recipe-choice-title strong { font-weight:600; }
.recipe-choice-check { margin-left:auto; color:var(--accent); }
.recipe-choice-equation { display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin:12px 0; }
.recipe-choice-equation .material-chip { padding:5px 7px; font-size:13px; }
.recipe-choice-equation .material-chip strong { font-size:13px; }
.recipe-choice-arrow { color:var(--accent); font-size:22px; padding:0 4px; }
.recipe-choice-machine,.recipe-choice-unlock { display:block; font-size:13px; color:#c6c7d0; line-height:1.6; }
.recipe-choice-unlock { color:#aeafb8; margin-top:3px; }
.recipe-menu-note { margin:0; padding:14px 16px; font-size:12px; color:#b7b8c1; line-height:1.7; background:#25272f; }
#production-dialog .recipe-menu { position:static; margin-top:8px; max-height:430px; }
#production-dialog .picker-field-label { margin-top:18px; }
.production-recipe-bar>button { align-self:flex-start; margin-top:30px; }
@media(max-width:600px) {
  .recipe-picker-field { width:100%; flex-basis:100%; }
  .production-recipe-bar>button { margin-top:0; }
  .recipe-menu-heading>span { margin-left:0; width:100%; }
  .recipe-picker-trigger { padding:12px; }
  .picker-selected-tier .picker-tier-label { width:100%; }
}
.production-recipe-bar { position:relative; }
.recipe-picker-field { flex-basis:100%; }
.production-recipe-bar>button { position:absolute; right:24px; top:12px; margin:0; font-size:13px; }
.recipe-other-outputs { font-size:12px; color:#bbbcc5; border-bottom:1px dotted #82838c; }
.used-in-section { margin-top:32px; border-top:1px solid #49434f; padding-top:26px; }
.item-icon>img { display:block; width:100%; height:100%; object-fit:contain; }
.used-in-section { content-visibility:auto; contain-intrinsic-size:auto 900px; }
.usage-intro { color:#b7b4c2; font-size:14px; line-height:1.7; max-width:850px; }
.usage-filter { display:block; max-width:480px; font-size:13px; color:#c6c1ce; margin:18px 0; }
.usage-filter input { display:block; box-sizing:border-box; width:100%; padding:11px 13px; margin-top:7px; border:1px solid #625a6a; border-radius:5px; background:#202129; color:#eeeaf2; }
.usage-count { color:#aaa5b6; font-size:13px; margin:14px 0; }
.usage-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,390px),1fr)); gap:14px; }
.usage-card { min-width:0; padding:18px; border:1px solid #4a424f; border-radius:6px; background:#24232c; }
.usage-card-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; }
.usage-card-heading h3,.usage-recipe-link { margin:0; font-size:16px; font-weight:600; text-align:left; line-height:1.5; }
.usage-recipe-link { padding:0; color:#f3a39b; }
.usage-card .recipe-tier { font-size:12px; }
.usage-consumption { margin:12px 0; color:#d2cbd8; font-size:13px; line-height:1.6; }
.usage-equation { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.usage-inputs,.usage-outputs { display:flex; flex-wrap:wrap; align-items:center; gap:6px; min-width:0; }
.usage-card .material-chip { max-width:100%; font-size:13px; text-align:left; overflow-wrap:anywhere; }
.usage-card .material-chip strong { font-size:13px; }
.usage-arrow { color:#f3a39b; font-size:22px; }
.usage-machine { color:#b7b0c1; font-size:12px; line-height:1.7; margin:14px 0 0; }
.usage-more { display:block; margin:20px auto 0; padding:11px 20px; border:1px solid #8c6263; border-radius:5px; background:#38272e; color:#f4c0ba; }
@media(max-width:780px) { .production-recipe-bar>button { right:16px; } }
