@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600&display=swap');
:root{color-scheme:dark;--bg:#282a36;--panel:#303341;--alt:#343746;--line:#44475a;--text:#f8f8f2;--muted:#bfc3d9;--green:#50fa7b;--orange:#ffb86c;--purple:#bd93f9}*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--bg);font:13px 'IBM Plex Sans',system-ui,sans-serif;line-height:1.5}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}input,select,textarea,button{border:1px solid var(--line);background:#21222c;border-radius:3px}button{padding:5px 10px}button:hover{background:#44475a;border-color:#bd93f9}button.active{background:#44475a;color:#f8f8f2;border-color:#bd93f9}button:disabled{opacity:.4;cursor:default}input,select{padding:5px 7px}input[type=number]{font-family:'IBM Plex Mono',monospace;width:64px;font-size:12px}input[type=checkbox]{accent-color:var(--green)}:focus-visible{outline:2px solid #ff79c6;outline-offset:2px}header{display:flex;align-items:center;gap:24px;padding:10px 22px;border-bottom:1px solid var(--line);background:#21222c;position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:10px;color:var(--text);white-space:nowrap}.brand b{font:600 15px 'IBM Plex Mono',monospace;background:#44475a;color:#bd93f9;padding:5px 7px;border-radius:3px}.brand span{font-size:13px;font-weight:600}nav{display:flex;gap:4px}nav a{color:var(--muted);padding:6px 11px;border-radius:3px;font-size:13px}nav a.active{color:var(--green);background:#44475a}#save-state{margin-left:auto;color:var(--muted);font:11px 'IBM Plex Mono',monospace;white-space:nowrap}#toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:9px 18px;padding:9px 22px;border-bottom:1px solid var(--line);background:#303341;font-size:12px}#toolbar label{display:flex;align-items:center;gap:7px;color:var(--muted)}#toolbar .links{margin-left:auto;display:flex;gap:14px}.dot{color:#6272a4}main{padding:20px 22px 28px;max-width:1920px;margin:auto}h1,h2,h3,p{margin:0}h1{font-size:20px;font-weight:500;letter-spacing:-.3px}h2{font-size:13px;text-transform:uppercase;letter-spacing:.8px;font-weight:500}h3{font-size:13px;font-weight:500}.page-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.page-head p{font-size:12px;color:var(--muted);margin-top:3px}.row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.row.end{justify-content:flex-end}.panel{background:var(--panel);border:1px solid var(--line);border-radius:4px;margin-bottom:16px;min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border-bottom:1px solid var(--line);background:#343746}.pad{padding:12px}.grid{display:grid;gap:16px;align-items:start}.grid.two{grid-template-columns:1fr 1fr}.grid.build-top{grid-template-columns:1.1fr 1fr 1.1fr}.grid.craft-grid{grid-template-columns:minmax(360px,1fr) minmax(300px,1fr)}.muted,small{color:var(--muted)}small{font-size:11px}.mono,.num,code{font-family:'IBM Plex Mono',ui-monospace,monospace;font-variant-numeric:tabular-nums}code{color:#8be9fd;font-size:11px}.num{text-align:right;white-space:nowrap}.accent{color:var(--green)}.positive{color:#50fa7b}.negative{color:#ffb86c}.pill{display:inline-block;line-height:1.5;padding:1px 5px;border-radius:2px;border:1px solid #6272a4;color:#8be9fd;font-size:10px;white-space:nowrap}.pill.reference{border-color:#ffb86c;color:#ffb86c;background:#382f32}.pill.community{border-color:#50fa7b;color:#50fa7b;background:#293d36}.pill.quest{border-color:#bd93f9;color:#bd93f9;background:#373044}.pill.locked{border-color:#ff5555;color:#ffb86c}.table-wrap{overflow:auto;max-width:100%}table{width:100%;border-collapse:collapse;font-size:12px}th,td{padding:7px 10px;border-bottom:1px solid #44475a;vertical-align:top}th{text-align:left;color:#c5bddb;font-size:11px;text-transform:uppercase;letter-spacing:.3px;font-weight:500;background:#343746;white-space:nowrap}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#383b4c}tr.selected{background:#44475a}tr.selected td{border-bottom-color:#6272a4}th button{padding:0;border:0;background:none;color:inherit;font-size:inherit;text-transform:inherit}td input{max-width:100%;padding:3px 5px;height:26px}td .note{display:block;color:var(--muted);font-size:11px;margin-top:2px}.matrix{max-height:65vh;overflow:auto}.matrix table{min-width:950px}.matrix thead{position:sticky;top:0;z-index:2}.matrix .level{position:sticky;left:0;background:#303341;z-index:1;font-weight:500}.matrix tr.selected .level{background:#44475a}.matrix .spend{min-width:170px;max-width:260px;font-size:11px}.matrix td{padding:6px 8px}.legend{display:flex;flex-wrap:wrap;gap:7px 17px;padding:9px 12px;color:var(--muted);font-size:11px;border-top:1px solid var(--line)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:3px;overflow:hidden;margin-bottom:14px}.metric{background:#303341;padding:9px 12px}.metric small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.5px}.metric b{font:500 19px 'IBM Plex Mono',monospace;display:block;margin-top:3px}.inline-note{border-left:2px solid #bd93f9;background:#343342;padding:8px 11px;color:#e0d9f1;font-size:12px;margin-bottom:14px}.inline-note.warn{border-color:#ffb86c;background:#383039;color:#ffcf9b}.inline-note a{margin-left:6px}.mini-table td,.mini-table th{padding:5px 9px}.mini-table input{width:54px}.mini-stats{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--line);flex-wrap:wrap}.mini-stats label{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:5px}.search{width:280px;max-width:100%;font-size:12px}.empty{padding:24px;color:var(--muted);text-align:center}.subtext{font-size:11px;color:var(--muted);padding:8px 12px;border-top:1px solid var(--line)}.recipe-data td{padding:7px 9px}.recipe-data .ingredients{min-width:200px;max-width:350px;font-size:11px;color:#c9ccdf}.recipe-data small{display:block}.data-section{margin-bottom:16px}.compact-list{padding:0;margin:0;list-style:none}.compact-list li{padding:6px 12px;border-bottom:1px solid #44475a}.compact-list li:last-child{border:0}.compact-list span{display:inline-block;min-width:85px;color:var(--muted)}.note-area{width:100%;min-height:200px;padding:10px;resize:vertical;font:12px/1.7 'IBM Plex Mono',monospace}.json-area{width:100%;height:240px;padding:10px;font:11px/1.5 'IBM Plex Mono',monospace;resize:vertical}.sources{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:12px}.sources a{padding:5px 0}.range-control label{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px}.form-action{color:#282a36;background:#bd93f9;border-color:#bd93f9}.form-action:hover{background:#d5b8ff;color:#282a36}.tight{white-space:nowrap}.farm-notes{max-width:400px;color:#bfc3d9;font-size:11px}.filter-bar{display:flex;gap:9px;align-items:center;padding:10px 12px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.filter-bar label{font-size:11px;color:var(--muted)}details{font-size:12px}summary{padding:8px 12px;cursor:pointer;color:var(--green)}details .pad{border-top:1px solid var(--line)}footer{display:flex;gap:10px;justify-content:space-between;border-top:1px solid var(--line);padding:10px 22px;color:#a7afce;font-size:10px}#toast{position:fixed;bottom:18px;right:20px;background:#44475a;color:#f8f8f2;padding:8px 12px;border:1px solid #bd93f9;border-radius:3px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .15s}#toast.show{opacity:1}::selection{background:#44475a;color:#fff}
@media(min-width:1500px){main{padding:22px 30px}.matrix table{font-size:13px}.matrix td{padding:7px 10px}}
@media(max-width:1050px){.grid.build-top{grid-template-columns:1fr 1fr}.grid.build-top>.panel:last-child{grid-column:1/-1}.grid.craft-grid{grid-template-columns:1fr}.brand span{display:none}header{gap:15px}}
@media(max-width:650px){header{padding:8px 10px;gap:9px;flex-wrap:wrap;position:static}nav{order:3;width:100%;overflow:auto}nav a{padding:5px 10px;white-space:nowrap}#toolbar{padding:8px 10px;gap:8px 12px}#toolbar .links{margin-left:0}main{padding:14px 10px}.page-head{align-items:flex-start;flex-wrap:wrap}.grid.two,.grid.build-top{grid-template-columns:1fr}.grid.build-top>.panel:last-child{grid-column:auto}.metrics{grid-template-columns:1fr 1fr}.metric b{font-size:17px}.panel-head{flex-wrap:wrap}.recipe-data{min-width:780px}.gear-data{min-width:780px}.farm-data{min-width:900px}.matrix{max-height:72vh}.sources{grid-template-columns:1fr}footer{padding:10px;flex-wrap:wrap}h1{font-size:19px}.search{width:100%}.filter-bar{gap:8px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.recipe-data tr.focused{outline:1px solid #bd93f9;outline-offset:-1px}

a{color:#8be9fd}nav a.active{color:#bd93f9}h1{color:#f8f8f2}h2{color:#ff79c6}.exp-guidance{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:12px;border-bottom:1px solid var(--line);color:var(--muted)}.exp-guidance b{display:block;color:#bd93f9;margin-bottom:3px}.exp-table{min-width:1280px}.exp-note{min-width:300px;max-width:440px;color:var(--muted)}.exp-ingredients{min-width:170px;max-width:250px}.tip-trigger{display:inline-flex;align-items:center;justify-content:center;padding:0 3px;min-width:22px;min-height:22px;border:0;background:transparent;color:#8be9fd;font-size:14px;vertical-align:middle}.tip-trigger:hover,.tip-trigger[aria-expanded=true]{background:#44475a;color:#f1fa8c}.craft-tooltip{position:fixed;z-index:20;max-width:min(380px,calc(100vw - 24px));padding:11px 13px;background:#21222c;border:1px solid #bd93f9;border-radius:4px;color:#f8f8f2;font-size:13px;box-shadow:0 8px 28px #0006;pointer-events:none}.craft-tooltip[hidden]{display:none}.exp-summary{color:#8be9fd;padding:9px 12px;border-top:1px solid var(--line);font-family:IBM Plex Mono,monospace;font-size:12px}@media(max-width:850px){.exp-guidance{grid-template-columns:1fr;gap:9px}}
