:root{--bg:#0e0f13;--bg-raised:#16181f;--bg-inset:#1c1f28;--line:#262a35;--line-strong:#343a48;--text:#e6e8ef;--text-dim:#9aa1b1;--text-faint:#6b7280;--accent:#f2b134;--accent-dim:#8a6a24;--good:#4ade80;--bad:#f87171;--warn:#fbbf24;--info:#60a5fa;--mono:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:14px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.shell{max-width:1500px;margin:0 auto;padding:24px 20px 80px}.masthead{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:20px;padding-bottom:16px;display:flex}.masthead h1{letter-spacing:-.01em;margin:0;font-size:20px;font-weight:650}.masthead h1 span{color:var(--accent)}.meta{font-family:var(--mono);color:var(--text-faint);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.meta b{color:var(--text-dim);font-weight:500}.controls{background:var(--bg-raised);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:flex-end;gap:18px;margin-bottom:20px;padding:14px 16px;display:flex}.field{flex-direction:column;gap:5px;display:flex}.field label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-size:11px;font-weight:600}.field input,.field select{background:var(--bg-inset);border:1px solid var(--line-strong);color:var(--text);font-family:var(--mono);border-radius:6px;min-width:150px;padding:7px 10px;font-size:13px}.field input:focus,.field select:focus{outline:2px solid var(--accent-dim);outline-offset:-1px}.btn{background:var(--accent);color:#1a1200;cursor:pointer;border:none;border-radius:6px;padding:8px 18px;font-size:13px;font-weight:650}.btn:hover{filter:brightness(1.08)}.btn-ghost{color:var(--text-dim);border:1px solid var(--line-strong);background:0 0}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line-strong);background:var(--bg-inset);color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:12px;display:inline-flex}.chip[data-on=true]{background:color-mix(in srgb, var(--accent) 18%, transparent);border-color:var(--accent-dim);color:var(--accent)}.cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:22px;display:grid}.card{background:var(--bg-raised);border:1px solid var(--line);border-radius:10px;padding:14px 16px}.card .k{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin-bottom:6px;font-size:11px;font-weight:600}.card .v{font-family:var(--mono);letter-spacing:-.02em;font-size:22px;font-weight:600}.card .s{color:var(--text-faint);margin-top:3px;font-size:12px}.table-wrap{border:1px solid var(--line);background:var(--bg-raised);border-radius:10px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:1080px}thead th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);border-bottom:1px solid var(--line);white-space:nowrap;background:var(--bg-inset);padding:11px 12px;font-size:11px;font-weight:600}tbody td{border-bottom:1px solid var(--line);vertical-align:top;padding:11px 12px}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:color-mix(in srgb, var(--accent) 4%, transparent)}.num{font-family:var(--mono);text-align:right;white-space:nowrap}.pos{color:var(--good)}.neg{color:var(--bad)}.method{max-width:460px}.method .title{margin-bottom:3px;font-weight:550}.method .sub{color:var(--text-faint);font-size:12px;font-family:var(--mono)}.tag{text-transform:uppercase;letter-spacing:.04em;border:1px solid #0000;border-radius:4px;padding:2px 7px;font-size:10.5px;font-weight:650;display:inline-block}.tag-craft{color:#6ee7a8;background:#1e3a2f}.tag-breakdown{color:#f5b97a;background:#3a2a1e}.tag-smelt{color:#f79ab0;background:#3a1e28}.tag-stonecut{color:#8fb4f5;background:#26314a}.tag-strip{color:#b9d47a;background:#2c3320}.tag-flip{color:#d79af7;background:#331e3a}.tag-solo{background:var(--bg-inset);color:var(--text-dim);border-color:var(--line-strong)}.tag-duo{color:#8fb4f5;background:#1f2b3a}.tag-scalable{color:#6ee7a8;background:#1e3a2f}.tag-high{color:#4ade80;background:#143024}.tag-medium{color:#fbbf24;background:#33280f}.tag-low{color:#f87171;background:#3a1d1d}.constraint{color:var(--text-faint);font-size:11px;font-family:var(--mono)}details.warnings{margin-top:6px}details.warnings summary{cursor:pointer;color:var(--warn);font-size:11.5px;list-style:none}details.warnings summary::-webkit-details-marker{display:none}details.warnings ul{color:var(--text-dim);margin:6px 0 0;padding-left:16px;font-size:12px}details.warnings li{margin-bottom:3px}.notice{background:var(--bg-raised);border:1px solid var(--line-strong);border-left:3px solid var(--accent);border-radius:8px;margin-bottom:20px;padding:18px 20px}.notice h2{margin:0 0 8px;font-size:16px}.notice p{color:var(--text-dim);margin:0 0 10px}.notice pre{background:var(--bg-inset);border:1px solid var(--line);font-family:var(--mono);color:var(--text);border-radius:6px;margin:0 0 10px;padding:12px 14px;font-size:12.5px;overflow-x:auto}.notice ol{color:var(--text-dim);padding-left:20px}.notice li{margin-bottom:8px}.section-title{text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);margin:26px 0 10px;font-size:13px;font-weight:650}.cap{border-bottom:1px dotted var(--line-strong);cursor:help;position:relative}.cap .tip{z-index:40;border:1px solid var(--line-strong);text-align:left;white-space:normal;width:330px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);font-family:var(--sans);cursor:default;background:#0b0c10;border-radius:9px;padding:13px 15px;display:none;position:fixed;overflow-y:auto;box-shadow:0 12px 32px #0009}.cap:hover .tip,.cap:focus-within .tip{display:block}.tip strong{color:var(--accent);margin-bottom:6px;font-size:12.5px;display:block}.tip-why,.tip-fix{color:var(--text-dim);margin-bottom:7px;font-size:12px;line-height:1.55;display:block}.tip-fix{color:var(--text-faint)}.tip-table{border-top:1px solid var(--line);margin-bottom:6px;padding-top:7px;display:block}.tip-row{font-family:var(--mono);color:var(--text-faint);justify-content:space-between;gap:12px;padding:2px 0;font-size:11.5px;display:flex}.tip-row.is-binding{color:var(--accent);font-weight:600}.tip-foot{color:var(--text-faint);font-size:11px;font-style:italic;display:block}.sort-th{color:inherit;white-space:nowrap;cursor:pointer;align-items:center;gap:5px;text-decoration:none;display:inline-flex}.sort-th:hover{color:var(--text);text-decoration:none}.sort-th.is-active{color:var(--accent)}.sort-arrow{opacity:.45;font-size:9px;line-height:1}.sort-th.is-active .sort-arrow{opacity:1}.sort-th:hover .sort-arrow{opacity:.85}.locked{place-items:center;min-height:100vh;padding:24px;display:grid}.locked-card{background:var(--bg-raised);border:1px solid var(--line);border-radius:12px;width:100%;max-width:440px;padding:32px 30px}.locked-card h1{letter-spacing:-.01em;margin:0 0 6px;font-size:21px;font-weight:650}.locked-card h1 span{color:var(--accent)}.locked-sub{color:var(--text-dim);margin:0 0 20px;font-size:13.5px}.locked-error{background:color-mix(in srgb, var(--bad) 12%, transparent);border:1px solid color-mix(in srgb, var(--bad) 35%, transparent);color:#fca5a5;border-radius:7px;margin-bottom:16px;padding:10px 13px;font-size:13px}.locked-form{gap:8px;display:flex}.locked-form input{background:var(--bg-inset);border:1px solid var(--line-strong);min-width:0;color:var(--text);font-family:var(--mono);border-radius:6px;flex:1;padding:9px 12px;font-size:13px}.locked-form input:focus{outline:2px solid var(--accent-dim);outline-offset:-1px}.locked-foot{color:var(--text-faint);margin:18px 0 0;font-size:12px;line-height:1.6}.linkbox{background:var(--bg-inset);border:1px solid var(--line-strong);width:300px;color:var(--text-dim);font-family:var(--mono);border-radius:5px;padding:6px 9px;font-size:11.5px}.footnote{color:var(--text-faint);margin-top:22px;font-size:12px;line-height:1.7}.listprice{border-bottom:1px dotted var(--line-strong)}.listprice .tip{width:320px}.tag.cap{border-bottom:none;position:relative}.tag.cap .tip{text-transform:none;letter-spacing:normal;width:300px;color:var(--text);font-weight:400}.unit{color:var(--text-faint);font-size:11px}table{min-width:1560px}tbody td{padding:9px 10px}.method{min-width:340px;max-width:340px}.method .title{overflow-wrap:break-word;line-height:1.35}.method .sub{white-space:nowrap}.qtop{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:22px;display:flex}.qtop h1{letter-spacing:-.015em;color:var(--text-dim);margin:0;font-size:17px;font-weight:600}.qtop h1 b{color:var(--text);font-weight:700}.qfresh{color:var(--text-faint);align-items:center;gap:6px;font-size:12px;display:inline-flex}.qfresh:before{content:"";background:var(--good);width:6px;height:6px;box-shadow:0 0 0 3px color-mix(in srgb, var(--good) 18%, transparent);border-radius:50%}.qtop-spacer{flex:1}.qtop form{align-items:center;gap:8px;display:flex}.qtop label{text-transform:uppercase;letter-spacing:.09em;color:var(--text-faint);font-size:10.5px;font-weight:650}.qtop input{background:var(--bg-inset);border:1px solid var(--line-strong);color:var(--text);font-family:var(--mono);font-variant-numeric:tabular-nums;border-radius:7px;width:150px;padding:7px 11px;font-size:13.5px}.qtop input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.qtop a{color:var(--text-faint);font-size:12.5px}.qtop a:hover{color:var(--accent)}.qgrid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px;display:grid}.qcard{background:var(--bg-raised);border:1px solid var(--line);border-radius:14px;flex-direction:column;transition:border-color .15s;display:flex;overflow:hidden}.qcard:hover{border-color:var(--line-strong)}.qhead{align-items:center;gap:9px;padding:13px 15px 11px;display:flex}.qrank{font-family:var(--mono);color:var(--text-faint);flex:none;width:16px;font-size:11px;font-weight:700}.qtitle{letter-spacing:-.012em;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin:0;font-size:15.5px;font-weight:650;overflow:hidden}.qverb{text-transform:uppercase;letter-spacing:.09em;color:var(--text-faint);border:1px solid var(--line-strong);border-radius:999px;flex:none;padding:3px 9px;font-size:10px;font-weight:700}.qrecipe{align-items:center;gap:10px;padding:4px 15px 14px;display:flex}.qins{flex-wrap:wrap;flex:1;gap:6px;min-width:0;display:flex}.slot{background:var(--bg-inset);border:1px solid var(--line);border-radius:9px;flex-direction:column;flex:1;justify-content:center;gap:1px;min-width:62px;min-height:62px;padding:8px 9px;display:flex}.slot-out{background:color-mix(in srgb, var(--accent) 9%, var(--bg-inset));border-color:color-mix(in srgb, var(--accent) 32%, transparent);flex:none;min-width:96px}.slot-qty{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:16px;font-weight:700;line-height:1.1}.slot-out .slot-qty{color:var(--accent);font-size:19px}.slot-name{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;line-height:1.25;overflow:hidden}.slot-sub{font-family:var(--mono);color:var(--text-faint);font-size:10px}.qarrow{opacity:.5;flex:none;width:18px;height:8px;position:relative}.qarrow:before{content:"";background:var(--text-faint);width:13px;height:2px;position:absolute;top:3px;left:0}.qarrow:after{content:"";border-top:2px solid var(--text-faint);border-right:2px solid var(--text-faint);width:8px;height:8px;position:absolute;top:0;right:0;transform:rotate(45deg)}.qprice{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--accent) 4%, transparent);flex-direction:column;gap:2px;padding:13px 15px;display:flex}.qprice-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint);font-size:10px;font-weight:700}.qprice-value{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.035em;color:var(--accent);font-size:27px;font-weight:700;line-height:1.05}.qprice-sub{color:var(--text-faint);font-size:11.5px;font-family:var(--mono)}.qfoot{justify-content:space-between;align-items:baseline;gap:10px;padding:11px 15px 4px;display:flex}.qfoot-money{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--text-dim);font-size:12.5px}.qfoot-money i{color:var(--text-faint);margin:0 5px 0 2px;font-size:10.5px;font-style:normal}.qfoot-profit{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.025em;color:var(--good);font-size:16px;font-weight:700}.qmeta{color:var(--text-faint);gap:12px;padding:0 15px 12px;font-size:11px;display:flex}.qempty{background:var(--bg-raised);border:1px solid var(--line);text-align:center;border-radius:14px;padding:34px 30px}.qempty h2{margin:0 0 8px;font-size:17px}.qempty p{color:var(--text-dim);margin:0 0 14px;max-width:46ch;margin-inline:auto}.qnote-foot{color:var(--text-faint);max-width:70ch;margin-top:24px;font-size:12px;line-height:1.65}@media (prefers-reduced-motion:reduce){.qcard{transition:none}}.seg{background:var(--bg-inset);border:1px solid var(--line-strong);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.seg a{color:var(--text-faint);border-radius:6px;padding:5px 12px;font-size:12.5px;line-height:1.4;text-decoration:none}.seg a:hover{color:var(--text);text-decoration:none}.seg a.is-on{background:var(--accent);color:#1a1200;font-weight:650}.researchbar{background:color-mix(in srgb, var(--warn) 9%, var(--bg-raised));border:1px solid color-mix(in srgb, var(--warn) 32%, transparent);color:var(--text-dim);border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:16px;padding:11px 15px;font-size:12.5px;display:flex}.researchbar strong{color:var(--warn);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.qprice-locked{background:0 0}.qprice-note{color:var(--text-faint);font-size:11.5px;line-height:1.5}.alarm{background:#b3312b14;border:1px solid #b3312b;border-left-width:4px;border-radius:4px;margin:0 0 14px;padding:10px 14px;font-size:13px;line-height:1.5}.alarm ul{margin:6px 0 0;padding-left:18px}.qnote{opacity:.72;margin:0 0 12px;font-size:12.5px;line-height:1.5}.qprice-fill{color:var(--text-dim);margin-top:4px;font-size:11.5px;display:block}
