@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cinzel-latin-ext-400-normal-XQK_CSAr.woff2) format("woff2"),url(/assets/cinzel-latin-ext-400-normal-DJ0Lq8y-.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cinzel-latin-400-normal-DnUIPmzd.woff2) format("woff2"),url(/assets/cinzel-latin-400-normal-C8jUSQqm.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-latin-ext-700-normal-C24KFjuG.woff2) format("woff2"),url(/assets/cinzel-latin-ext-700-normal-CORa-yIv.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/cinzel-latin-700-normal-Dkw14w9r.woff2) format("woff2"),url(/assets/cinzel-latin-700-normal-C-gK7hA8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #08080a;--surface: #121215;--surface-2: #1b1b1f;--text: #f1f1f3;--muted: #9b9ba3;--border: #2b2b31;--accent: #ffffff;--pos: #8fd6a2;--neg: #e9988f;--warn: #d9c38a;--selected: #222228;--halo: rgb(255 255 255 / .07);--display: "Cinzel", "Trajan Pro", Georgia, serif;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.45;color:var(--text);background:var(--bg);color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse 70% 40% at 50% -10%,var(--halo),transparent 70%) no-repeat,var(--bg);min-height:100vh}.app{max-width:1400px;margin:0 auto;padding:16px}header{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:flex-end;justify-content:space-between}h1{font-family:var(--display);font-weight:700;font-size:2.1rem;line-height:1.15;margin:0}h3{font-family:var(--display);font-weight:700;font-size:1.05rem;letter-spacing:.03em;margin:20px 0 8px}.title{display:flex;flex-direction:column;align-items:flex-start;gap:8px}h1.banner{position:relative;display:inline-block;margin:46px 0 0;font-size:inherit;line-height:1}.banner .plate{position:relative;z-index:2;display:inline-block;padding:4px 14px 5px;white-space:nowrap;background:#fff;border:3px solid #c8141c;color:#c8141c;box-shadow:0 0 22px #ff281e73;font-family:var(--display);font-weight:700;font-size:2.3rem;line-height:1.1;letter-spacing:.04em}.banner .big{font-size:1.32em}.banner .beam{position:absolute;z-index:1;left:38%;bottom:40%;width:0;height:420px;pointer-events:none;transform:rotate(14deg);transform-origin:bottom center}.banner .beam i{position:absolute;bottom:0;left:50%;border-radius:50% 50% 0 0}.banner .halo{width:120px;height:100%;margin-left:-60px;filter:blur(18px);background:linear-gradient(to top,rgb(255 40 30 / .28),rgb(255 40 30 / .06) 55%,transparent)}.banner .glow{width:26px;height:100%;margin-left:-13px;filter:blur(5px);background:linear-gradient(to top,rgb(255 70 50 / .95),rgb(255 60 40 / .45) 50%,transparent)}.banner .core{width:5px;height:92%;margin-left:-2.5px;filter:blur(.6px);background:linear-gradient(to top,#fff,rgb(255 220 210 / .9) 40%,transparent)}.app{position:relative;overflow-x:clip}header .controls,header .stamp{position:relative;z-index:3}.stamp{font-size:.85rem;color:var(--muted)}.stamp-stale{color:var(--warn)}.stamp-old{color:var(--neg);font-weight:600}.controls{display:flex;flex-wrap:wrap;gap:12px}label{display:flex;flex-direction:column;gap:2px;font-size:.8rem;color:var(--muted)}label.check{flex-direction:row;align-items:center;gap:6px}input,select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:6px 8px;min-width:0}input[type=number]{width:110px}.sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0 0}.section{display:flex;align-items:center;justify-content:center;gap:18px;min-height:108px;padding:12px 20px;text-decoration:none;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:12px}.section:hover{color:var(--text);border-color:#45454d}.section.active{border-color:var(--accent);background:var(--surface-2)}.section-name{font-family:var(--display);font-weight:700;font-size:1.5rem;letter-spacing:.08em}.section.active .section-name{color:#000;-webkit-text-stroke:.14em #fff;paint-order:stroke fill}.section-art{flex:none;transition:opacity .15s,filter .15s}.section:not(.active) .section-art{opacity:.55;filter:grayscale(.5)}.section:not(.active):hover .section-art{opacity:.85;filter:none}.section-art img{width:42px;height:42px;display:block}.crafting-art{display:grid;grid-template-columns:repeat(3,42px);gap:0 6px;justify-items:center}.crafting-art .top{grid-column:1 / 4;width:52px;height:52px}.market-art{display:flex;align-items:center;gap:6px;color:var(--text)}.market-art img.big{width:52px;height:52px}.market-art .swap{width:40px;height:40px}.tabs{display:flex;gap:4px;margin:10px 0 8px;border-bottom:1px solid var(--border);overflow-x:auto}.tabs a{padding:8px 14px;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap}.tabs a{font-family:var(--display);letter-spacing:.05em}.tabs a.active{color:var(--text);border-bottom-color:var(--accent);font-weight:700}.disclaimer{font-size:.8rem;color:var(--muted);margin:4px 0 12px}.intro{margin-top:0}.muted{color:var(--muted);font-weight:400}.error{color:var(--neg)}.warn{color:var(--warn)}.loading,.empty{color:var(--muted);padding:12px 0}.filters{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end;margin-bottom:12px}.count{color:var(--muted);font-size:.85rem;margin-left:auto}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:var(--surface)}table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}th,td{padding:7px 10px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--border)}th:first-child,td:first-child{text-align:left}th{position:sticky;top:0;background:var(--surface-2);font-size:.78rem;color:var(--muted);font-weight:600;-webkit-user-select:none;user-select:none}th.sortable{cursor:pointer}tr:last-child td{border-bottom:0}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--surface-2)}tr.selected td{background:var(--selected)}.pos{color:var(--pos)}.spark{display:block;margin-left:auto}.spark-up path{stroke:var(--pos)}.spark-down path{stroke:var(--neg)}.spark-flat path{stroke:var(--muted)}input[type=search]{width:200px}.neg{color:var(--neg)}.chip{display:inline-flex;align-items:center;gap:4px;vertical-align:middle}.chip img{flex:none}.chip-name{max-width:220px;overflow:hidden;text-overflow:ellipsis}.gold-chip{color:var(--warn);font-weight:600}.route{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:2px}.arrow{color:var(--muted);margin:0 4px}.conf{display:inline-block;min-width:2.2em;text-align:center;border-radius:10px;padding:0 6px;font-weight:600}.conf-high{background:color-mix(in srgb,var(--pos) 20%,transparent);color:var(--pos)}.conf-mid{background:color-mix(in srgb,var(--warn) 20%,transparent);color:var(--warn)}.conf-low{background:color-mix(in srgb,var(--neg) 18%,transparent);color:var(--neg)}.tag{display:inline-block;margin-left:6px;font-size:.72rem;padding:0 6px;border-radius:8px;border:1px solid var(--border);color:var(--muted)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px 16px;margin-bottom:12px}.panel h3{margin-top:0}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000040;z-index:20;animation:fade-in .2s ease-out}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:21;width:min(520px,100vw);overflow-y:auto;background:var(--surface);border-left:1px solid var(--border);box-shadow:-8px 0 24px #0000002e;padding:16px 20px;box-sizing:border-box;animation:slide-in .22s ease-out}.drawer h3{margin-top:0}@keyframes slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.drawer,.drawer-backdrop{animation:none}}.detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.legs{padding-left:20px;margin:8px 0}.legs li{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;padding:6px 0;border-bottom:1px dashed var(--border)}.legs li:last-child{border-bottom:0}.legs li.bottleneck{font-weight:600}.leg-kind{min-width:9em;color:var(--accent);font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.alloc{margin:0;padding-left:20px}.alloc li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:3px 0}button.link{font:inherit;background:none;border:0;padding:0;color:inherit;cursor:pointer;text-align:left}button.star{font-size:1rem;background:none;border:0;cursor:pointer;color:var(--warn);padding:0 4px}.alpha-notice{display:flex;align-items:flex-start;gap:12px;margin:4px 0 12px;padding:12px 16px;background:color-mix(in srgb,var(--warn) 10%,var(--surface));border:1px solid var(--warn);border-radius:8px}.alpha-notice p{margin:0;font-size:.95rem;line-height:1.5;color:var(--text)}.alpha-tag{flex:none;padding:2px 9px;border-radius:6px;background:var(--warn);color:#000;font-family:var(--display);font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.item-text{width:100%;box-sizing:border-box;font:.85rem/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:8px;resize:vertical}.row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-top:8px}button.primary,a.button{font:inherit;font-weight:600;padding:6px 14px;border-radius:6px;cursor:pointer;text-decoration:none;display:inline-block;border:1px solid var(--accent)}button.primary{background:var(--accent);color:var(--surface)}button.primary:disabled{opacity:.6;cursor:default}a.button{background:transparent;color:var(--accent)}.craft-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:12px;align-items:start}.craft-grid>.panel{margin-bottom:0}.craft-grid+.panel{margin-top:12px}table.mods td{white-space:normal;text-align:left;vertical-align:top}table.mods td:last-child{text-align:right}table.mods select{width:10em}table.mods tr.unmatched td{color:var(--muted)}.mod-side{color:var(--accent);font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;width:6em}.price-row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end;justify-content:space-between;margin:10px 0 4px}.verdict{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:14px 0 4px}.verdict dt{color:var(--muted)}.verdict dd{margin:0}.small{font-size:.8rem}.steps{list-style:none;padding-left:0;margin:0}.steps>li{padding:10px 0;border-bottom:1px dashed var(--border)}.steps>li:last-child{border-bottom:0}.steps>li.impossible{opacity:.75}.steps ul{margin:6px 0;padding-left:18px}.step-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px}.step-cost{font-variant-numeric:tabular-nums}code{font-size:.8rem;background:var(--surface-2);padding:0 4px;border-radius:4px;margin:0 2px}.credits{font-size:.78rem}.craft-options{margin:10px 0 0}button.link-button{font:inherit;background:none;border:0;padding:0;color:var(--accent);cursor:pointer;text-decoration:underline}button.link-button:disabled{color:var(--muted);cursor:default;text-decoration:none}.group-box{border:1px dashed var(--border);border-radius:6px;padding:8px 10px;margin:8px 0}.group-members{margin:6px 0;padding-left:18px}.strategies{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}button.strategy{font:inherit;color:var(--text);text-align:left;display:flex;flex-direction:column;gap:4px;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px;cursor:pointer}button.strategy.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset;background:var(--selected)}button.strategy:disabled{cursor:progress}.strategy-cost{font-size:1.2rem;font-weight:700;font-variant-numeric:tabular-nums}.steps>li.done{opacity:.55}.steps>li.rare{border-left:2px dotted var(--border);padding-left:8px}.situation{margin:2px 0 4px}.outcomes{list-style:none;margin:4px 0 0;padding-left:4px}.outcomes li{padding:1px 0}.outcome-p{display:inline-block;min-width:3.4em;text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}table.shopping td{white-space:normal}details.rules summary{cursor:pointer}details.rules ul{margin:8px 0 0;padding-left:18px}details.rules li{margin:4px 0}.status-assumed{border-color:var(--warn);color:var(--warn)}.status-poe2db,.status-owner{border-color:var(--pos);color:var(--pos)}.starts{list-style:none;margin:0;padding:0}.starts li{padding:4px 0}footer{margin-top:32px;padding-top:12px;border-top:1px solid var(--border);font-size:.8rem}footer p{margin:4px 0}@media (max-width: 860px){.craft-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 640px){.app{padding:12px 16px}.banner .plate{font-size:1.6rem}h1.banner{margin-top:34px}.section{flex-direction:column;gap:6px;min-height:0;padding:10px 8px}.section-name{font-size:1.1rem}.section-art img,.market-art img.big{width:28px;height:28px}.crafting-art{grid-template-columns:repeat(3,28px);gap:0 3px}.crafting-art .top{width:32px;height:32px}.market-art .swap{width:26px;height:26px}input[type=number]{width:90px}.count{margin-left:0}}.base-kind{border-left:3px solid transparent;padding-left:8px;margin-left:-11px}.base-kind.chosen{border-left-color:var(--accent, #c8a24a)}.recipe{list-style:none;padding:0;margin:12px 0;display:grid;gap:10px}.recipe>li{border:1px solid var(--border);border-radius:8px;padding:10px 12px}.recipe>li.done{opacity:.6}.recipe-head{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;justify-content:space-between}.recipe-lines{margin:6px 0 0;padding-left:22px}.recipe-lines li{margin:3px 0}.recipe-ifs{margin:6px 0 0;padding-left:22px;list-style:"↳ ";color:var(--muted);font-size:.92em}.every-situation{margin-top:14px}.every-situation>summary{cursor:pointer;font-weight:600}.recipe-head b{font-size:1.05em}
