@font-face{font-family:"Noto Sans";src:url("/combat/fonts/noto-sans-cyrillic.woff2") format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0400-04FF,U+2116}@font-face{font-family:"Noto Sans";src:url("/combat/fonts/noto-sans-latin.woff2") format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF}@font-face{font-family:"JetBrains Mono";src:url("/combat/fonts/jetbrains-mono-variable.woff2") format("woff2");font-weight:100 900;font-display:swap}
:root{font-family:"Noto Sans","Segoe UI",sans-serif;color:#e8edf7;background:#090d14}body{background:radial-gradient(circle at 50% -20%,#17243a 0,#0b1019 38%,#080c12 100%);min-height:100vh}.craft-topbar{position:sticky;top:0}.craft-topbar .brand-mark{color:#a4f2d9;border-color:#256454;background:#102b26}.craft-brand h1{color:#fff}.craft-brand p{margin:2px 0 0;color:#7d8ba2;font-size:11px}.craft-topbar .server-status{margin-left:auto}.craft-layout{max-width:1500px;margin:0 auto;padding:14px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:12px;align-items:start}.craft-workspace{display:grid;gap:10px;min-width:0}.craft-layout .panel{border:1px solid #293449;border-radius:8px;background:rgba(16,22,32,.96);box-shadow:0 12px 32px rgba(0,0,0,.18);padding:12px}.craft-layout .panel-title{margin:0 0 10px;color:#dce6f7}.craft-layout .side-badge{background:#133138;color:#9ef0ec}.craft-search-label{display:block;margin-bottom:4px;color:#8492a9;font-size:10px}.craft-layout input,.craft-layout select{width:100%;height:34px;border:1px solid #303c52;border-radius:5px;background:#0b111b;color:#edf4ff;padding:0 9px;font:13px "JetBrains Mono",monospace;outline:none}.craft-layout input:focus,.craft-layout select:focus{border-color:#4f9baa;box-shadow:0 0 0 2px rgba(80,194,213,.12)}.craft-status{margin-top:6px;min-height:15px;color:#78869c;font-size:11px}.craft-search-panel{position:relative}.craft-search-results{position:absolute;z-index:20;left:12px;right:12px;top:91px;max-height:350px;overflow:auto;border:1px solid #3b4b65;border-radius:6px;background:#0a1019;box-shadow:0 16px 34px rgba(0,0,0,.65)}.craft-search-results[hidden]{display:none}.craft-search-result{width:100%;height:auto;min-height:46px;display:flex;align-items:center;gap:9px;padding:6px 10px;border:0;border-bottom:1px solid #253247;border-radius:0;background:#0d1521;color:#edf4ff;text-align:left;box-shadow:none}.craft-search-result:last-child{border-bottom:0}.craft-search-result:hover{background:#152339}.craft-search-result>span:last-child{display:flex;flex:1;min-width:0;flex-direction:column}.craft-search-result strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.craft-search-result small{margin-top:2px;color:#8292a8;font-size:10px}.craft-search-result em{font:11px "JetBrains Mono",monospace;color:#f4cc7b;font-style:normal}.recipe-card[hidden]{display:none}.recipe-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.recipe-picker{width:min(360px,55%);display:flex;flex-direction:column;gap:4px;color:#8492a9;font-size:10px}.recipe-picker select{height:30px;font-size:11px}.recipe-product{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #293449;border-radius:6px;background:#0b111a}.craft-icon{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;overflow:hidden;border:1px solid #3a4a5c;border-radius:4px;background:#111925;color:#87daca}.craft-icon img{width:100%;height:100%;object-fit:contain}.recipe-product-info{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}.recipe-product-info strong{color:#f1f5fc;font-size:15px}.recipe-product-info span{color:#8997ad;font-size:11px}.target-quantity{width:95px;display:flex;flex-direction:column;gap:3px;color:#8492a9;font-size:10px}.target-quantity input{text-align:center}.recipe-facts{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.recipe-facts span{padding:4px 8px;border:1px solid #2c384d;border-radius:4px;background:#0b111a;color:#9ba8bb;font-size:11px}.recipe-facts b{color:#8ef0cf;font-family:"JetBrains Mono",monospace}.recipe-card h2{margin:12px 0 7px;color:#8edce4;font-size:11px;text-transform:uppercase}.recipe-materials{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}.material-card{min-width:0;display:flex;align-items:center;gap:7px;padding:7px;border:1px solid #2d394d;border-radius:5px;background:#0d1420}.material-card .craft-icon{width:29px;height:29px;flex-basis:29px}.material-card>span:last-child{display:flex;min-width:0;flex-direction:column}.material-card strong{overflow:hidden;color:#dfe8f6;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.material-card small{color:#8be2c4;font:10px "JetBrains Mono",monospace}.resource-help{margin:0 0 8px;color:#8290a5;font-size:11px;line-height:1.5}.resource-legend{display:grid;grid-template-columns:minmax(65px,1fr) 76px 105px 132px;gap:6px;margin:0 0 4px;padding:0 6px;color:#76859b;font-size:9px}.resource-legend span:not(:first-child){text-align:center}.resource-tree{display:grid;gap:4px}.resource-node{--depth:0;display:grid;grid-template-columns:minmax(65px,1fr) 76px 105px 132px;align-items:center;gap:6px;min-height:47px;padding:5px 6px;padding-left:calc(6px + var(--depth)*20px);border:1px solid #293449;border-radius:5px;background:#0b111a}.resource-item{display:flex;align-items:center;gap:7px;min-width:0}.resource-item .craft-icon{width:28px;height:28px;flex:0 0 28px}.resource-item>span:last-child{display:flex;min-width:0;flex-direction:column}.resource-item strong{overflow:hidden;color:#dfe8f6;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.resource-item small{color:#7f8da2;font-size:9px}.resource-need{color:#8ef0cf;font:11px "JetBrains Mono",monospace}.resource-node input{height:29px;padding:0 5px;text-align:center;font-size:11px}.resource-node select{height:29px;padding:0 4px;font-size:10px}.resource-node .needed-cell{text-align:center}.node-children{display:grid;gap:4px}.node-alert{grid-column:1/-1;color:#ffb6bd;font-size:10px}.craft-result-panel{position:sticky;top:76px;height:fit-content}.craft-result-panel .result-head strong{color:#9bf2d3}.craft-result-panel .metric{min-height:73px}.craft-result-panel .metric b{font-size:17px;overflow-wrap:anywhere}.craft-result-panel .metric.expected b{color:#c7a9ff}.craft-result-panel .result-section h3{color:#8edce4}.craft-result-panel .result-row{align-items:center}.craft-result-panel .result-row>b{max-width:54%;font-size:11px}.craft-result-panel .result-row input{height:27px}.formula-note,.local-note{margin:3px 0 0;color:#8592a7;font-size:11px;line-height:1.5}.clear-values{width:100%;height:30px;margin-top:9px;border:1px solid #536176;background:#151e2c;color:#b9c6d8;box-shadow:none;font-size:11px}.local-note{text-align:center;font-size:10px}.empty-result{min-height:120px}.empty-result span{font-size:28px;color:#3d91a2}.empty-result strong{color:#aab5c8;margin-top:6px}.empty-result p{margin:5px 10px 0;font-size:11px}.missing-data{color:#ffb6bd!important}@media(max-width:1000px){.craft-layout{grid-template-columns:1fr}.craft-result-panel{position:static}}@media(max-width:640px){.craft-layout{padding:7px}.craft-layout .panel{padding:9px}.craft-topbar{height:56px;padding:0 10px}.craft-topbar .server-status{font-size:0}.craft-topbar .server-status::before{content:"●";font-size:12px}.resource-legend,.resource-node{grid-template-columns:minmax(58px,1fr) 52px 78px 100px;gap:4px}.resource-node{padding:4px;padding-left:calc(4px + var(--depth)*12px)}.resource-item .craft-icon{width:23px;height:23px;flex-basis:23px}.resource-item strong{font-size:10px}.resource-legend{font-size:8px}.resource-node input,.resource-node select{font-size:9px}.recipe-picker{width:52%}.target-quantity{width:78px}.recipe-materials{grid-template-columns:repeat(auto-fill,minmax(125px,1fr))}}
/* Match the six resource columns: item, needed, stock, buy quantity, price, action. */
.resource-legend,.resource-node{grid-template-columns:minmax(65px,1fr) 72px 72px 82px 95px 124px}
.resource-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-color:#39465a #111822;scrollbar-width:thin}
.resource-legend,.resource-node{min-width:570px}
@media(max-width:640px){.resource-legend,.resource-node{grid-template-columns:minmax(150px,1fr) 52px 52px 66px 76px 92px;min-width:520px;gap:4px}.resource-node{padding:4px;padding-left:calc(4px + var(--depth)*12px)}}

/* Keep this page visually aligned with the combat calculator's wiki theme.
   These overrides are intentionally scoped to the craft page. */
:root{--craft-bg:#181b1a;--craft-surface:#212121;--craft-raised:#292929;--craft-control:#303030;--craft-border:#414141;--craft-border-soft:#363636;--craft-text:#f5f5f5;--craft-muted:#a3a3a3;--craft-dim:#777b79;--craft-accent:#30f8a0;--craft-accent-soft:#38d8c0;--craft-accent-bg:#203830;--craft-danger:#ff8797;--craft-warning:#f1d17b;color:var(--craft-text);background:var(--craft-bg)}
body{color:var(--craft-text);background:radial-gradient(circle at 50% -10%,rgba(48,248,160,.08),transparent 34%),linear-gradient(180deg,#171a19 0,var(--craft-bg) 45%,#151716 100%)}
.craft-topbar{height:66px;padding-inline:28px;border-bottom-color:var(--craft-border);background:rgba(33,33,33,.97);box-shadow:0 8px 26px rgba(0,0,0,.22)}
.craft-topbar .brand-mark{border-color:rgba(48,248,160,.62);border-radius:9px;background:#18231f;color:var(--craft-accent)}
.craft-brand h1{font-size:18px;font-weight:600}.craft-brand p{color:var(--craft-muted)}
.craft-topbar .server-status{border-color:rgba(48,248,160,.55);background:var(--craft-accent-bg);color:var(--craft-accent)}
.craft-layout .panel{border-color:var(--craft-border);border-radius:16px;background:rgba(33,33,33,.98);box-shadow:0 18px 44px rgba(0,0,0,.18)}
.craft-layout .panel-title{color:var(--craft-text);font-size:13px;font-weight:600}
.craft-layout .side-badge{border:1px solid rgba(48,248,160,.34);border-radius:7px;background:var(--craft-accent-bg);color:var(--craft-accent)}
.craft-search-label,.recipe-picker,.target-quantity{color:var(--craft-muted)}
.craft-layout input,.craft-layout select{border-color:var(--craft-border);border-radius:7px;background:var(--craft-control);color:var(--craft-text);font-family:"Noto Sans","Segoe UI",Arial,sans-serif}
.craft-layout input:focus,.craft-layout select:focus{border-color:var(--craft-accent);box-shadow:0 0 0 2px rgba(48,248,160,.12)}
.craft-status,.resource-help,.formula-note,.local-note{color:var(--craft-muted)}
.craft-search-results{border-color:var(--craft-border);border-radius:12px;background:var(--craft-surface)}
.craft-search-result{border-bottom-color:var(--craft-border-soft);background:var(--craft-raised);color:var(--craft-text)}
.craft-search-result:hover{background:#343434}.craft-search-result small{color:var(--craft-muted)}
.craft-search-result em{color:var(--craft-warning)}
.recipe-product,.recipe-facts span{border-color:var(--craft-border);border-radius:8px;background:var(--craft-raised)}
.recipe-product-info strong{color:var(--craft-text)}.recipe-product-info span{color:var(--craft-muted)}
.recipe-facts span{color:var(--craft-muted)}.recipe-facts b,.resource-need{color:var(--craft-accent);font-family:"JetBrains Mono",ui-monospace,Consolas,monospace}
.recipe-card h2,.craft-result-panel .result-section h3{color:var(--craft-accent);font-weight:600}
.craft-icon{border-color:#52615a;border-radius:5px;background:#181b1a;color:var(--craft-accent)}
.material-card,.resource-node{border-color:var(--craft-border);border-radius:8px;background:#1b1d1c}
.material-card strong,.resource-item strong{color:#e6e6e6}.material-card small{color:var(--craft-accent)}
.resource-legend{color:var(--craft-muted)}.resource-item small{color:var(--craft-dim)}
.craft-result-panel .result-head strong{color:var(--craft-accent)}
.craft-result-panel .metric,.craft-result-panel .result-section{border-color:var(--craft-border);border-radius:12px;background:var(--craft-raised)}
.craft-result-panel .metric small{color:var(--craft-muted)}.craft-result-panel .metric b{color:var(--craft-text)}
.craft-result-panel .metric.chance b{color:var(--craft-accent)}.craft-result-panel .metric.expected b{color:#c7a9ff}
.craft-result-panel .result-row{border-top-color:var(--craft-border-soft);color:var(--craft-muted)}
.craft-result-panel .result-row>b{color:var(--craft-text)}
.clear-values{border-color:var(--craft-border);border-radius:999px;background:transparent;color:var(--craft-text);box-shadow:none}
.clear-values:hover{border-color:var(--craft-accent);color:var(--craft-accent)}
.missing-data{color:var(--craft-danger)!important}
@media(max-width:640px){.craft-topbar{height:56px;padding-inline:10px}}
.craft-root-empty{min-width:0;min-height:1px}.tree-toggle{width:24px;height:24px;flex:0 0 24px;padding:0;border:1px solid var(--craft-border);border-radius:6px;background:var(--craft-surface);color:var(--craft-accent);box-shadow:none;font-size:17px;line-height:1}.tree-toggle:hover{border-color:var(--craft-accent);background:var(--craft-accent-bg);filter:none}
/* Compact input for split buy/craft quantities. */
.resource-action{min-width:0;display:grid;gap:4px}
.resource-action select,.resource-action input{width:100%}
.resource-action input{height:25px;font-size:10px}
.resource-node input:disabled{opacity:.48;cursor:not-allowed}
.resource-node.resource-error{border-color:#9a5660}.resource-node.resource-error .resource-item strong{color:#ffc0c7}
.missing-prices{display:grid;gap:5px;margin:8px 0}.missing-price-link{width:100%;height:auto;min-height:30px;padding:6px 9px;border:1px solid #85505a;border-radius:7px;background:#3a2529;color:#ffc0c7;text-align:left;box-shadow:none;font-size:11px}.missing-price-link:hover{border-color:#ff8797;filter:none}
.secondary-action,.scenario-actions button{height:30px;border:1px solid var(--craft-border);border-radius:7px;background:#303030;color:var(--craft-text);box-shadow:none;font-size:11px}.secondary-action:hover,.scenario-actions button:hover{border-color:var(--craft-accent);color:var(--craft-accent);filter:none}.secondary-action:disabled{opacity:.5;cursor:not-allowed}
.shopping-list{margin-top:8px;color:var(--craft-muted);font-size:11px}.shopping-row{display:flex;justify-content:space-between;gap:8px;padding:5px 0;border-top:1px solid var(--craft-border-soft)}.shopping-row span{min-width:0;overflow-wrap:anywhere}.shopping-row b{flex:0 0 auto;color:var(--craft-accent);font-family:"JetBrains Mono",monospace}
.scenario-section{display:grid;gap:7px}.scenario-section h3{margin-bottom:0}.scenario-label{color:var(--craft-muted);font-size:10px}.scenario-section>input,.scenario-section>select{height:30px;font-size:11px}.scenario-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.scenario-section .formula-note{min-height:16px}
.scenario-compare{border-top:1px solid var(--craft-border);padding-top:7px}.scenario-compare summary{cursor:pointer;color:var(--craft-accent);font-size:11px}.scenario-compare[open]{display:grid;gap:6px}.scenario-compare select{height:30px;font-size:11px}.comparison-result{display:grid;gap:4px;color:var(--craft-muted);font-size:10px}.comparison-row{display:grid;gap:3px;padding:5px 0;border-top:1px solid var(--craft-border-soft)}.comparison-row b{overflow-wrap:anywhere;color:var(--craft-text);font:11px "JetBrains Mono",monospace}.comparison-row b.comparison-better{color:var(--craft-accent)}.comparison-row b.comparison-worse{color:var(--craft-danger)}
