/* Larger type, inventory-based pickers and a pannable production canvas. */
body { font-size:17px; }
.production-mode h1 { font-size:36px; line-height:1.25; }
.page-heading p,.production-note p,.field-note p { font-size:17px; line-height:1.7; }
.eyebrow,.picker-field-label,.picker-tier-label,.quantity-box label { font-size:13px; letter-spacing:.7px; }
.picker-selected-title { font-size:19px; }
.picker-selected-inputs { display:flex; flex-wrap:wrap; align-items:center; gap:9px; font-size:17px; margin:14px 0; }
.picker-selected-inputs .material-chip { font-size:17px; background:#252630; }
.picker-selected-inputs .material-chip strong { font-size:17px; }
.recipe-picker-trigger { padding:20px; }
.recipe-choice { padding:22px 20px; }
.recipe-choice-title,.recipe-choice-equation .material-chip,.recipe-choice-equation .material-chip strong { font-size:17px; }
.recipe-choice-unlock,.recipe-menu-note { font-size:15px; line-height:1.75; }
.recipe-tier { font-size:15px; }
.recipe-choice-machines { display:flex; flex-wrap:wrap; gap:10px; margin:14px 0; }
.recipe-choice-machines>.picker-tier-label { flex-basis:100%; }
.inventory-machine { display:inline-flex; align-items:center; gap:9px; padding:9px 11px; border:1px solid #c6bab8; border-radius:5px; background:#f7f2eb; color:#302b35; font-size:16px; }
.recipe-choice-machines>.picker-tier-label { color:#625968; }
.machine-picker { display:block; min-width:0; width:100%; }
.machine-picker-trigger { display:flex; gap:10px; align-items:center; width:100%; text-align:left; padding:12px; border:1px solid #776a7c; border-radius:5px; background:#252630; }
.machine-picker-trigger>span:nth-child(2) { flex:1; min-width:0; }
.machine-picker-trigger small { display:block; font-size:12px; margin-bottom:5px; color:#c0b8ca; }
.machine-picker-trigger .machine-label { font-size:16px; line-height:1.5; white-space:normal; }
.machine-menu { position:fixed; inset:auto; margin:0; padding:7px; border:1px solid #a28ba5; border-radius:7px; background:#272831; color:#eee9f2; overflow:auto; box-shadow:0 18px 65px #0009; }
.machine-menu button { display:flex; align-items:center; gap:12px; width:100%; padding:13px; text-align:left; border-radius:4px; font-size:16px; }
.machine-menu button>span:nth-child(2) { flex:1; }
.machine-menu button small { display:block; font-size:14px; margin-top:4px; color:#bdb5c8; }
.machine-menu button[aria-checked=true],.machine-menu button:hover { background:#4c3544; }
.route-controls { display:flex; flex-wrap:wrap; gap:14px; align-items:center; border:1px solid #554958; border-radius:6px; background:#24232d; padding:18px; margin-bottom:24px; }
.route-controls>div { flex:1; min-width:200px; }
.route-controls strong { display:block; font-size:18px; }
.route-controls span { display:block; color:#c1b7ca; font-size:14px; line-height:1.7; margin-top:5px; }
.route-controls label { display:grid; gap:6px; font-size:14px; color:#c1b7ca; }
.route-controls select,.route-controls button { background:#342e3a; color:#f4eaf5; border:1px solid #79637c; padding:11px 13px; border-radius:5px; font:16px var(--sans); }
.route-controls button:hover { background:#503444; }
.section-meta,.production-footnote,.production-note,.starting-materials,.supply-reason { font-size:15px; line-height:1.7; }
.ingredient-card>span>span,.building-used-for,.machine-facts,.view-tabs button { font-size:17px; }
.view-tabs button { padding-bottom:16px; }
.building-card h3 { font-size:20px; }
.building-craft-link,.machine-build-link,.recipe-option-link { font-size:16px; }
.tree-navigation { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; align-items:center; background:#28232e; padding:12px 16px; border:1px solid #5c4d62; }
.tree-navigation>span { font-size:14px; color:#d3c4da; }
.tree-navigation>div { display:flex; align-items:center; gap:9px; }
.tree-navigation button { border:1px solid #856a8c; background:#3c2d43; border-radius:4px; padding:7px 12px; font-size:16px; }
.tree-navigation button:hover { background:#684b70; }
.tree-navigation #tree-zoom-level { min-width:48px; text-align:center; font-size:14px; }
.production-tree-scroll { position:relative; overflow:hidden; touch-action:none; cursor:grab; user-select:none; }
.production-tree-scroll.panning { cursor:grabbing; }
.production-tree { position:absolute; top:0; left:0; transform-origin:0 0; will-change:transform; }
.recipe-node-heading h3 { font-size:23px; line-height:1.4; }
.recipe-node-heading span { font-size:13px; }
.recipe-node .node-inputs,.recipe-node .node-byproducts,.recipe-node .node-actions button { font-size:15px; line-height:1.6; }
.recipe-node .node-inputs { overflow:auto; max-height:112px; }
.recipe-node .node-actions { display:flex; flex-wrap:wrap; gap:10px; }
.supply-node strong { font-size:17px; }
.supply-node small { font-size:13px; line-height:1.5; }
#production-tree-dialog { box-sizing:border-box; }
#production-tree-dialog .used-in-section,#production-tree-dialog .route-controls { display:none; }
#production-tree-dialog .production-content { display:flex; flex-direction:column; min-height:0; overflow:hidden; }
#production-tree-dialog .tree-navigation { flex-shrink:0; }
#production-tree-dialog .production-tree-scroll { flex:1; min-height:0; height:auto; }
#production-tree-dialog .chain-toolbar { margin-bottom:12px; }
.usage-intro,.usage-filter,.usage-consumption,.usage-machine,.usage-count { font-size:16px; line-height:1.75; }
.usage-card .material-chip,.usage-card .material-chip strong,.usage-recipe-link { font-size:16px; }
.usage-card .recipe-tier { font-size:14px; }
@media(max-width:780px) {
  .production-mode h1 { font-size:30px; }
  .recipe-picker-trigger { padding:16px; }
  .route-controls { padding:14px; }
  .route-controls label { width:100%; }
  .tree-navigation>span { flex-basis:100%; }
  #production-tree-dialog .tree-navigation>span { display:none; }
  #production-tree-dialog { padding:12px; }
}
/* Compact item-only production tree. Every tile uses the same geometry. */
.compact-tree-node { position:absolute; box-sizing:border-box; display:flex; flex-direction:column; justify-content:space-between; padding:12px; border:1px solid #736777; border-radius:7px; background:#2b2933; box-shadow:0 4px 12px #0003; }
.compact-tree-node.output { border-color:#e1788b; background:#3a2a35; }
.compact-tree-node.byproduct { border-color:#7caa9c; background:#253630; }
.compact-tree-node[title] { border-style:dashed; }
.compact-item-line { display:flex; align-items:center; gap:9px; min-height:58px; }
.compact-item-name { flex:1; min-width:0; padding:0; text-align:left; color:#f1ebf3; font-size:16px; font-weight:600; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.compact-item-line>strong { max-width:65px; font:600 17px var(--sans); overflow-wrap:anywhere; color:#f1d3df; }
.compact-item-actions { display:flex; justify-content:space-between; align-items:center; gap:7px; border-top:1px solid #73677766; padding-top:10px; }
.compact-item-actions button { font:14px var(--sans); color:#efb2c6; padding:2px 0; }
.compact-item-actions button:hover { color:#fff1f6; }
.compact-item-actions button:disabled,.compact-result-label { font-size:13px; color:#b1a8b8; cursor:default; }
.compact-tree-edge { fill:none; stroke:#cf9eb9; stroke-width:1.8; }
.compact-tree-edge.result-edge { stroke:#8bb7aa; }
.tree-recipe-count { padding:12px 14px; border:1px solid #72596f; background:#302532; color:#e8ccdf; font-size:15px; line-height:1.7; border-radius:5px; }
/* Wiki-style recipe tables for downstream uses. */
.usage-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr)); gap:20px; align-items:start; }
.usage-recipe { min-width:0; max-width:360px; padding:0; border:1px solid #8c8188; border-radius:9px; background:#414046; overflow:hidden; }
.usage-recipe h3 { margin:0; padding:13px 12px; background:#29262e; font-size:17px; line-height:1.5; }
.usage-recipe h3 button { padding:0; text-align:left; color:#f1dce6; font-weight:600; }
.usage-recipe table { width:100%; table-layout:fixed; border-collapse:collapse; color:#f0edf0; font-size:16px; }
.usage-recipe th { background:#30383d; color:#fff9f7; padding:7px 9px; font-size:15px; font-weight:650; line-height:1.5; }
.usage-recipe th:first-child:not([colspan]) { text-align:left; width:76%; }
.usage-recipe th:last-child:not([colspan]) { width:24%; }
.usage-recipe td { padding:7px 9px; border-bottom:1px solid #7f757d; vertical-align:middle; }
.usage-recipe .recipe-stations { padding:9px; text-align:center; }
.recipe-table-station { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; padding:4px 0; text-align:center; font-size:15px; line-height:1.45; color:#b8d8ff; }
.station-or { display:block; color:#ddd5dd; font-size:13px; font-style:italic; line-height:1.3; margin:1px 0; }
.extra-stations { margin-top:6px; border-top:1px solid #79707b; padding-top:6px; }
.extra-stations summary { cursor:pointer; color:#dad0df; font-size:14px; }
.recipe-table-item { display:flex; align-items:center; gap:8px; padding:0; width:100%; text-align:left; color:#b8d8ff; font-size:16px; line-height:1.5; }
.recipe-table-item>span:last-child { min-width:0; overflow-wrap:anywhere; }
.usage-recipe .recipe-amount { text-align:center; font-variant-numeric:tabular-nums; width:24%; }
.usage-recipe .selected-ingredient { background:#66505e; }
.recipe-table-tier { padding:10px 9px; background:#34313b; }
.recipe-table-tier .recipe-tier { font-size:13px; }
.usage-intro { max-width:820px; }
/* Downstream recipes share one horizontal grid instead of masonry tables. */
.usage-grid { display:flex; flex-direction:column; gap:14px; }
.usage-recipe.usage-row { width:100%; max-width:none; background:#26252f; border:1px solid #5c515f; border-radius:8px; }
.usage-row-heading { display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; gap:10px 20px; padding:14px 18px; background:#302832; border-bottom:1px solid #554551; }
.usage-row .usage-row-heading h3 { margin:0; padding:0; background:none; font-size:18px; }
.usage-row-tier { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.usage-row-tier .recipe-tier { font-size:13px; }
.usage-row-flow { display:grid; grid-template-columns:180px minmax(0,1.6fr) 20px minmax(0,1fr); align-items:start; gap:18px; padding:18px; min-height:164px; box-sizing:border-box; }
.usage-row-flow section { min-width:0; }
.usage-row-flow h4 { margin:0 0 12px; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.7px; color:#bfb1c5; }
.usage-row-flow h4>span { font-size:12px; text-transform:none; letter-spacing:0; color:#968c9f; margin-left:4px; }
.usage-row-stations { padding-right:14px; border-right:1px solid #4f4355; min-height:106px; }
.usage-station-link { display:flex; align-items:center; gap:9px; padding:0; width:100%; text-align:left; font-size:15px; line-height:1.5; color:#d3c7dd; }
.usage-station-alternatives { margin-top:9px; }
.usage-station-alternatives summary { cursor:pointer; color:#d99fb5; font-size:13px; line-height:1.6; }
.usage-station-alternatives>div { display:grid; gap:10px; margin-top:12px; }
.usage-flow-items { display:flex; flex-wrap:wrap; gap:8px; }
.usage-flow-chip { display:inline-flex; align-items:center; gap:8px; min-height:43px; max-width:100%; padding:8px 10px; border:1px solid #5a5061; border-radius:5px; background:#302d39; color:#eee6f0; font-size:15px; line-height:1.45; text-align:left; }
.usage-flow-chip>span:not(.item-icon) { min-width:0; overflow-wrap:anywhere; }
.usage-flow-chip>strong { margin-left:auto; font-size:15px; color:#fff2f8; font-variant-numeric:tabular-nums; padding-left:3px; }
.usage-flow-chip.selected-ingredient { background:#4c3241; border-color:#bc687e; }
.usage-row-results .usage-flow-chip { background:#293a34; border-color:#567c6f; }
.usage-flow-arrow { align-self:center; margin-top:15px; color:#d2a2bb; font-size:25px; }
.usage-empty { color:#aca1b5; font-size:14px; }
@media(max-width:1000px) {
  .usage-row-flow { grid-template-columns:145px minmax(0,1.5fr) 18px minmax(0,1fr); gap:12px; padding:15px; }
}
@media(max-width:780px) {
  .usage-row-flow { grid-template-columns:minmax(0,1.5fr) 18px minmax(0,1fr); }
  .usage-row-stations { grid-column:1/-1; min-height:0; padding:0 0 14px; border-right:0; border-bottom:1px solid #4f4355; }
  .usage-station-link { width:auto; }
  .usage-row-heading { padding:13px 15px; }
}
@media(max-width:480px) {
  .usage-row-flow { grid-template-columns:minmax(0,1fr); }
  .usage-row-stations { grid-column:auto; }
  .usage-flow-arrow { margin:0; justify-self:center; transform:rotate(90deg); }
}
/* Browse galleries */
.catalog-tools{display:flex;align-items:end;gap:20px;flex-wrap:wrap;margin:10px 0 26px}.catalog-tools label{display:grid;gap:8px;font-size:14px;color:var(--muted,#a9adbe)}.catalog-tools input,.catalog-tools select{background:#252731;border:1px solid #454854;color:#f3f0e9;border-radius:8px;padding:12px 14px;font:inherit;min-width:220px}.catalog-tools input{width:320px;max-width:100%;box-sizing:border-box}.catalog-tools #catalog-count{margin-left:auto;padding-bottom:12px;color:#b9b9c7;font-size:14px}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}.catalog-card{display:flex;flex-direction:column;min-width:0;background:#242630;border:1px solid #3b3e49;border-radius:12px;overflow:hidden;text-decoration:none;color:#f4f0e9;content-visibility:auto;contain-intrinsic-size:auto 265px}.catalog-card:hover{border-color:#e76c77;background:#2c2e39}.catalog-card:focus-visible{outline:2px solid #f18a94;outline-offset:4px}.catalog-art{height:180px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#343741,#1e2028);padding:18px;box-sizing:border-box}.catalog-art>img{max-width:100%;max-height:100%;object-fit:contain}.catalog-art.creature-art{height:140px}.catalog-card-copy{padding:16px;border-top:1px solid #393b46;display:grid;gap:10px;flex:1}.catalog-card-copy strong{font-size:17px;line-height:1.4}.catalog-card-copy>span{font-size:13px;color:#b1b3c2;display:flex;justify-content:space-between;align-items:center}.catalog-card-copy b{color:#ee8892;font-size:19px}.catalog-more{text-align:center;padding:25px}.catalog-empty{color:#b9bdca}.workspace.catalog-mode .canvas-column{width:100%;max-width:none}.workspace.catalog-mode{grid-template-columns:minmax(0,1fr)}.catalog-mode .goal-badge{display:none}#catalog-panel[hidden]{display:none!important}@media(max-width:550px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.catalog-art{height:140px;padding:12px}.catalog-card-copy{padding:12px}.catalog-card-copy strong{font-size:15px}.catalog-tools label,.catalog-tools input{width:100%}.catalog-tools #catalog-count{margin-left:0}.catalog-art.creature-art{height:120px}}

.sidebar a.nav-item{text-decoration:none}.catalog-mode .view-toolbar[hidden]{display:none!important}
/* Operating fluids are separate from the ingredients used to craft a drill. */
.drill-operation{border:1px solid #474451;border-radius:12px;background:#242630;padding:24px;margin:0 0 28px}.drill-operation>.section-heading{margin-bottom:18px}.drill-operation h2{font-size:25px}.drill-operation-block{border-top:1px solid #41434f;padding-top:18px;margin-top:20px}.drill-operation h3{font-size:18px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 12px}.drill-operation p{font-size:15px;line-height:1.65;color:#c5c7d4;margin:10px 0 16px}.drill-operation .tiny-note{font-size:12px;color:#9ea3b7;margin-bottom:0}.drill-requirement{font-weight:400;font-size:12px;color:#f1afb7;border:1px solid #76505b;border-radius:5px;padding:4px 8px}.drill-fuel-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.drill-fuel-chip{display:flex;align-items:center;gap:12px;text-align:left;background:#30323f;border:1px solid #4a4d5d;border-radius:8px;padding:12px;color:#f2efeb;cursor:pointer;font:inherit;font-size:15px}.drill-fuel-chip:hover{border-color:#e98591}.drill-fuel-chip>span:nth-child(2){flex:1}.drill-fuel-chip small{display:block;font-size:12px;color:#aeb5c9;margin-top:5px}.drill-fuel-chip>.item-icon{flex-shrink:0}.drill-fuel-alternatives{margin-top:16px}.drill-fuel-alternatives summary{cursor:pointer;font-size:14px;color:#e4c0c9;padding:8px 0}.drill-fuel-alternatives .drill-fuel-list{margin-top:12px}.drill-fluid-recipes{display:grid;gap:10px}.drill-fluid-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:18px;align-items:center;padding:14px;border:1px solid #444754;border-radius:8px;background:#292c36}.drill-fluid-row strong{font-size:15px}.drill-fluid-materials{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.drill-needs{font-size:12px;text-transform:uppercase;color:#aeb5c9}.drill-operation .material-chip{white-space:normal;text-align:left}.drill-energy-note{background:#30323d;padding:12px 16px;border-radius:8px}@media(max-width:600px){.drill-operation{padding:16px}.drill-operation>.section-heading{align-items:start;gap:10px;flex-wrap:wrap}.drill-fluid-row{grid-template-columns:minmax(0,1fr)}.drill-needs{margin-bottom:-12px}.drill-fuel-list{grid-template-columns:minmax(0,1fr)}}
/* Acquisition outside crafting */
.view-toolbar[hidden] { display: none !important; }
.fuel-return-overview {
  margin-bottom: 28px;
  padding: 24px;
  border: 1px solid #484752;
  border-radius: 12px;
  background: #242630;
}
.fuel-return-overview h2 { margin: 8px 0 12px; font-size: 25px; }
.fuel-return-overview p { margin: 0 0 20px; color: #c5c7d4; line-height: 1.6; }
.fuel-return-route {
  display: grid;
  grid-template-columns: minmax(150px, .8fr) auto minmax(0, 2fr);
  align-items: center;
  gap: 16px;
  padding: 16px 0;
  border-top: 1px solid #41434f;
}
.fuel-return-route h3 { margin: 0 0 8px; color: #c5c7d4; font-size: 14px; }
.fuel-return-route .material-chip { white-space: normal; text-align: left; }
.fuel-return-arrow { color: #e5a2b3; }
@media (max-width: 600px) {
  .fuel-return-overview { padding: 16px; }
  .fuel-return-route { grid-template-columns: 1fr; gap: 8px; }
  .fuel-return-arrow { transform: rotate(90deg); justify-self: start; }
}
/* Searchable HTML summaries and crawlable navigation */
.search-snapshot { padding: 22px; border: 1px solid #41434e; border-radius: 10px; line-height: 1.7; }
.search-snapshot article { border-bottom: 1px solid #41434e; padding-bottom: 18px; margin-bottom: 18px; }
.search-snapshot h2 { font-size: 21px; }
.search-snapshot a, .search-related a, .search-directory-links a { color: #edacb7; }
.search-related { padding: 20px 36px; line-height: 1.9; }
.search-related nav { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-bottom: 12px; }
.search-directory-links { display: grid; grid-template-columns: repeat(auto-fit,minmax(200px,1fr)); gap: 10px; }
