:root{color-scheme:dark;--bg: #131218;--bg-glow: #242633;--panel: rgba(22, 19, 16, .92);--panel-2: #1d1915;--panel-head: #29241f;--line: color-mix(in srgb, var(--gold) 18%, transparent);--line-2: color-mix(in srgb, var(--gold) 40%, transparent);--gold: #cfae6e;--lavender: #b88fbf;--gold-soft: color-mix(in srgb, var(--gold) 13%, transparent);--on-gold: #1a140b;--text: #ece6dc;--muted: #9a9187;--good: #61c9a8;--bad: #d07f8b;--warn: #e3b85c;--font-hud: "Rajdhani", "Segoe UI", system-ui, sans-serif;--font-body: "Barlow", system-ui, -apple-system, "Segoe UI", sans-serif;--hud-xs: 600 13px/1.1 var(--font-hud);--hud-sm: 600 14px/1.25 var(--font-hud);--hud-md: 600 15px/1.2 var(--font-hud);--hud-lg: 700 17px/1.2 var(--font-hud);--hud-xl: 700 22px/1.15 var(--font-hud);--hud-2xl: 700 28px/1.1 var(--font-hud);--radius: 2px;--control-h: 42px;--head-h: 48px;--point: calc(var(--head-h) / 2)}:root,.tip,.tip-head,.crumbs span{--pointed: polygon( var(--point) 0, calc(100% - var(--point)) 0, 100% 50%, calc(100% - var(--point)) 100%, var(--point) 100%, 0 50% )}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;color:var(--text);font:16px/1.5 var(--font-body);background:radial-gradient(150% 75% at 50% 50%,var(--bg-glow),var(--bg) 75%);background-attachment:fixed}a{color:var(--gold)}a:hover{color:var(--text)}button,input{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}#app{max-width:1240px;margin:0 auto;padding:0 16px 40px}.loading,.error{font:var(--hud-md);color:var(--muted);padding:40px 0;text-align:center}.error{color:var(--bad)}.site-head{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:14px;padding:12px 0;margin-bottom:22px;background:#000;box-shadow:0 0 0 100vmax #000;clip-path:inset(0 -100vmax)}.brand img{display:block;width:44px;height:44px;image-rendering:pixelated}.kicker{margin:0;font:var(--hud-sm);color:var(--gold)}.site-title{min-width:0}.site-head h1{margin:0;font:var(--hud-2xl)}.site-nav a{text-decoration:none}.site-head .site-nav{flex:none;margin-left:12px}.head-end{flex:none;display:flex;gap:14px;align-items:center;margin-left:auto}.sound[hidden]{display:none}.site-sub{display:flex;gap:8px;align-items:center;justify-content:space-between;margin:-6px 0 18px}@media(min-width:1101px){.site-sub{display:none}}@media(max-width:1100px){.site-head .head-wide{display:none}}.sound[aria-pressed=true]{color:var(--gold);border-color:var(--gold)}.sound[aria-pressed=true] .mute,.sound[aria-pressed=false] .waves{display:none}.steps{--steps-gap: 22px;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--steps-gap)}.step-marks{display:none}@media(min-width:1320px){.step-marks{position:absolute;top:calc(var(--head-h) / 2 - 4.5px - var(--i) * 16px);left:calc(-28px - (var(--point) - 8px));display:grid;align-content:start;gap:7px}.step-marks.line-on{bottom:calc(-1 * var(--steps-gap) - var(--head-h) / 2)}.step-marks.line-on:before{content:"";position:absolute;top:0;bottom:0;left:4px;width:1px;background:var(--line-2)}.step-marks>*{width:9px;height:9px;padding:0;border:1px solid var(--gold);background:var(--bg);transform:rotate(45deg)}.step-marks button{cursor:pointer}.step-marks button:hover{background:color-mix(in srgb,var(--gold) 40%,var(--bg))}.step-marks i:after{content:"";display:block;width:3px;height:3px;margin:2px;background:var(--gold)}}.panel{--pad: 18px;margin-inline:calc(var(--point) - 8px);scroll-margin-top:84px;position:relative;isolation:isolate;padding:var(--pad)}.panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--panel);border:1px solid var(--line)}.panel:has(>.step-head,>.results-head){padding-top:0}.panel:has(>.step-head,>.results-head):before{top:var(--head-h)}.panel.stack{display:grid;gap:14px}.stack>.step-head{margin-bottom:2px}.stack>.note,.stack>.empty,.stack>.meta-tags{margin:0}.panel:focus-within{z-index:5}.step-head,.results-head{position:relative;isolation:isolate;display:flex;gap:12px;align-items:center;height:var(--head-h);margin:0 calc(-1 * var(--pad) - var(--point)) 16px;padding:6px 30px;background:var(--gold);clip-path:var(--pointed)}.step-head:before,.results-head:before,.tip:before,.tip-head:before,.crumbs span:before{content:"";position:absolute;top:1px;right:1px;bottom:1px;left:1px;z-index:-1;background:linear-gradient(180deg,#26211b,#181511);clip-path:var(--pointed)}.step-head h2,.results-head h2{margin:0;font:var(--hud-xl)}.step-head>.btn-ghost{margin-left:auto}.row{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:flex-end}.field{display:grid;gap:6px;min-width:0}.field.grow{flex:1 1 280px}.field>.seg:not(.seg-wrap),.stack>.seg:not(.seg-wrap){justify-self:start}.label{font:var(--hud-sm);color:var(--gold)}.empty{color:var(--muted);margin:6px 0 0}.note{color:var(--muted);font-size:14px;margin:10px 0 0}.muted{color:var(--muted)}.small{font-size:13px}.good{color:var(--good)}.bad{color:var(--bad)}.rank{color:var(--gold);font:var(--hud-lg)}.seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--line-2);background:#00000040}.seg button,.seg a{border:0;border-right:1px solid var(--line);background:transparent;cursor:pointer;padding:8px 14px;font:var(--hud-md);color:var(--muted)}.seg button:last-child,.seg a:last-child{border-right:0}.seg button:hover:not(:disabled),.seg a:hover{color:var(--text);background:#ffffff0a}.seg button.on,.seg a.on,.seg button.on:hover,.seg a.on:hover{color:var(--on-gold);background:var(--gold);font-weight:600}.seg button:disabled{opacity:.35;cursor:not-allowed}.goal-picker{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.goal-picker>.seg-wrap{flex:1 1 100%}.goal-picker .combo{width:210px}.goal-picker .combo-input{height:auto;padding-block:6px;font:var(--hud-md)}.seg-sm button{padding:6px 10px}.seg-sm button,.seg-sm .combo-input{font-size:13px}.seg-lg button{height:calc(var(--control-h) - 2px);padding:0 16px}.seg.seg-wrap{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:4px;border:0;background:none}.seg.seg-wrap button{padding:9px 10px;border:1px solid var(--line-2)}.seg.seg-wrap button.on{border-color:var(--gold)}.num-input{padding:5px 8px;background:#00000059;border:1px solid var(--line-2);border-radius:var(--radius);text-align:right;font-variant-numeric:tabular-nums}.num-input:focus{border-color:var(--gold);outline:none}.num-input[aria-invalid=true]{border-color:var(--bad)}.whole-input{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.whole-input::-webkit-inner-spin-button,.whole-input::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.combo{position:relative}.combo-input{width:100%;height:var(--control-h);padding:0 34px 0 12px;background:#00000059;border:1px solid var(--line-2);border-radius:var(--radius);font-size:16px}.combo-input::placeholder{color:var(--muted)}.combo-input:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 1px var(--gold)}.combo-caret{position:absolute;right:12px;top:50%;width:8px;height:8px;margin-top:-6px;border:solid var(--gold);border-width:0 2px 2px 0;transform:rotate(45deg);pointer-events:none}.combo.open .combo-caret{transform:rotate(-135deg);margin-top:-2px}.combo-list{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);max-height:340px;overflow-y:auto;margin:0;padding:4px 0;list-style:none;background:#16130f;border:1px solid var(--gold);box-shadow:0 12px 30px #0009}.combo-group{padding:10px 12px 4px;font:var(--hud-sm);color:var(--gold)}.combo-opt{display:flex;align-items:center;gap:8px;padding:7px 12px 7px 20px;cursor:pointer}.combo-opt.active{background:var(--gold-soft)}.combo-opt.current .combo-label{color:var(--gold)}.combo-label{flex:1}.combo-hint,.combo-badge{font:var(--hud-sm);color:var(--muted)}.combo-empty{padding:10px 12px;color:var(--muted)}.meta-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;padding:0;list-style:none}.tag{padding:4px 10px;background:var(--panel-head);font:var(--hud-md)}.trait{margin:12px 0 0}.trait+.trait{margin-top:4px}.trait b,.note b{color:var(--text)}.bonus-group{display:grid;gap:8px}.bonus-group>h3{margin:0;font:var(--hud-lg);color:var(--gold)}.bonus-group>.note{margin:0}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin:0}.tile{display:flex;flex-direction:column;justify-content:space-between;gap:4px;background:var(--panel-2);border:1px solid var(--line);padding:8px 10px;min-width:0}.tile dt{font:var(--hud-sm);color:var(--muted)}.tile dd{margin:0;font:var(--hud-xl);font-variant-numeric:tabular-nums;display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}.delta{font:var(--hud-xs)}.delta.good{color:var(--good)}.delta.bad{color:var(--bad)}.lock{margin:0;font:var(--hud-sm);color:var(--gold)}.btn-primary{border:0;cursor:pointer;padding:11px 24px;background:var(--gold);color:var(--on-gold);font:var(--hud-lg)}.btn-primary:hover:not(:disabled){background:#e0c487}.btn-primary:active:not(:disabled){transform:translateY(1px)}.btn-primary:disabled{background:#3a342c;color:#7d756a;cursor:not-allowed}.btn-ghost{border:1px solid var(--line-2);background:transparent;padding:6px 12px;cursor:pointer;font:var(--hud-md);color:var(--text);justify-self:start}.btn-ghost:hover{color:var(--gold);border-color:var(--gold)}a.btn-ghost{display:inline-block;text-decoration:none}.icon-btn{width:40px;height:40px;display:grid;place-items:center;cursor:pointer;border:1px solid var(--line-2);background:transparent;color:var(--muted)}.icon-btn:hover{color:var(--text);border-color:var(--gold)}.icon-btn.danger:hover{color:var(--bad);border-color:var(--bad)}.icon-btn.small{width:30px;height:30px}.name-link{color:inherit;text-decoration:none}.name-link:hover{color:var(--gold);text-decoration:underline}.item-name{font-size:18px;font-weight:600}.chip{display:inline-flex;align-items:center;gap:2px;padding:3px 8px;border:1px solid var(--line-2);font-size:13px;line-height:1.3;white-space:nowrap;background:#0003}.chip.aug{color:var(--text)}.chip.aug.locked{border-style:dashed}.chip.good{border-color:color-mix(in srgb,var(--good) 45%,transparent);color:var(--good)}.chip.bad{border-color:color-mix(in srgb,var(--bad) 45%,transparent);color:var(--bad)}a.chip{color:var(--text);text-decoration:none}.chips{display:flex;flex-wrap:wrap;gap:4px}.fx-detail{list-style:none;margin:0;padding:0;display:grid;gap:3px;font-size:14px}.fx-detail li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 8px}.fx-detail li .muted{grid-column:1 / -1;font-size:12px}.tip{--point: 10px;position:fixed;z-index:50;isolation:isolate;max-width:300px;padding:4px 18px;background:var(--gold);clip-path:var(--pointed);color:var(--text);font-size:13px;line-height:1.3;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .1s,visibility .1s}.tip.on{opacity:1;visibility:visible;transition-delay:.3s}.tip.on.now{transition-delay:0s}.tip.rich{--point: 22px;width:max-content;max-width:min(340px,100vw - 16px);padding:0;background:none;clip-path:none;font-size:14px;line-height:1.4}.tip.rich:before{content:none}.tip-head{position:relative;isolation:isolate;padding:6px 28px;background:var(--gold);clip-path:var(--pointed)}.tip-body{display:grid;gap:8px;margin:0 var(--point);padding:10px 14px 12px;background:var(--panel-2);border:1px solid var(--line)}.tip-head b{font:var(--hud-lg)}.tip-body>*{margin:0}.tip-level{display:flex;gap:10px;align-items:center;font-family:var(--font-hud)}.level-bar{flex:1;display:flex;gap:4px}.level-bar i{flex:1;height:6px;background:color-mix(in srgb,var(--lavender) 22%,transparent)}.level-bar i.on{background:var(--lavender)}.tip-stats{list-style:none;padding:0;display:grid;gap:2px}.tip-stats li{display:flex;justify-content:space-between;gap:12px;padding:4px 8px;background:var(--panel-head)}.tip-stats.next b{color:var(--muted)}.btn-ghost.on{color:var(--on-gold);border-color:var(--gold);background:var(--gold)}.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:22px;margin:0;background:transparent;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:22px;background:repeating-linear-gradient(90deg,var(--gold) 0 3px,transparent 3px calc((100% - 3px)*.1)) 9.5px 50% / calc(100% - 19px) 3px no-repeat,linear-gradient(var(--line-2),var(--line-2)) 0 50% / 100% 1px no-repeat}input[type=range]::-moz-range-track{height:22px;background:repeating-linear-gradient(90deg,var(--gold) 0 3px,transparent 3px calc((100% - 3px)*.1)) 9.5px 50% / calc(100% - 19px) 3px no-repeat,linear-gradient(var(--line-2),var(--line-2)) 0 50% / 100% 1px no-repeat}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:22px;height:22px;border:0;background:url(/images/dune-slider-thumb.svg)}input[type=range]::-moz-range-thumb{width:22px;height:22px;border:0;border-radius:0;background:url(/images/dune-slider-thumb.svg)}.level-control{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:10px;align-items:center}.level-control output{grid-column:2;grid-row:1;font:var(--hud-xl);font-variant-numeric:tabular-nums;text-align:right}.level-track{grid-column:1;grid-row:1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px;align-items:center}.level-track input{width:100%}.step-btn{width:24px;height:24px;padding:0;border:0;background:transparent;cursor:pointer;color:var(--gold)}.step-btn:before{content:"";display:block;width:7px;height:7px;margin:auto;border:solid currentColor;border-width:0 2px 2px 0}.step-btn.down:before{transform:translate(1px) rotate(135deg)}.step-btn.up:before{transform:translate(-1px) rotate(-45deg)}.step-btn:hover{color:var(--text)}.drops{list-style:none;margin:10px 0 0;padding:0;display:grid;max-width:560px}.drops li{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;padding:7px 0;border-bottom:1px solid var(--line)}.drops li>:nth-child(2){margin-left:auto;text-align:right;font-variant-numeric:tabular-nums}.drops li>.bar{flex-basis:100%;margin-top:4px}.chance{font-family:var(--font-hud);font-weight:600}.card{background:var(--panel-2);border:1px solid var(--line);padding:12px 14px}.card:has(>.drops):not(.plan>.card){box-sizing:content-box;max-width:560px}.card h3{margin:0;font:var(--hud-lg)}.site-footer{margin-top:28px;padding-top:14px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}.site-footer p{margin:4px 0}.site-footer .version b{color:var(--gold);font-family:var(--font-hud);font-weight:600}@media(max-width:640px){:root{--head-h: 36px}.item-name{font-size:16px}.icon-btn:not(.small){width:34px;height:34px}.site-head{gap:8px}.site-head h1{font-size:17px}.site-head .kicker{font-size:12px;white-space:nowrap}.brand img{width:36px;height:36px}.panel{--pad: 12px}.step-head h2,.results-head h2{font-size:18px}.seg.seg-wrap,.seg.seg-wrap-phone{grid-template-columns:repeat(2,minmax(0,1fr))}.seg.seg-wrap-phone{display:grid;justify-self:stretch;gap:4px;border:0;background:none}.seg.seg-wrap-phone button,.seg.seg-wrap-phone a{padding:9px 10px;border:1px solid var(--line-2)}.seg.seg-wrap-phone button.on,.seg.seg-wrap-phone a.on{border-color:var(--gold)}.site-sub .site-nav{flex:1;display:flex;flex-wrap:wrap}.site-sub .site-nav a{flex:1 1 auto;text-align:center}.row>.field:has(>.seg-lg,>.seg-wrap-phone){flex:1 1 100%}.field>.seg-lg{justify-self:stretch;flex-wrap:nowrap}.seg-lg button{flex:1 1 0;padding:0 6px}}.r-g0{--rar: #8d867c}.r-g1{--rar: #d9d3c7}.r-g2{--rar: #86bd6c}.r-g3{--rar: #6ea4dc}.r-g4{--rar: #a98be3}.r-g5{--rar: #dcb65a}.seg button[class*=r-g]:not(:disabled){color:color-mix(in srgb,var(--rar) 75%,var(--muted))}.seg button.on[class*=r-g]{color:var(--on-gold);background:var(--rar)}.chip[class*=r-g]{border-color:color-mix(in srgb,var(--rar) 65%,transparent)}.g{color:var(--rar, var(--gold));font-family:var(--font-hud);font-weight:700}a.chip:hover,a.chip[class*=r-g]:hover{border-color:var(--gold);color:var(--gold)}.bar{display:block;height:2px;margin-top:6px;background:#ffffff0f}.bar>i{display:block;height:100%;background:var(--gold);transform-origin:left}.reveal{animation:row-in .42s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i, 0) * 32ms)}.reveal .bar>i{animation:bar-in .7s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i, 0) * 32ms + .12s)}@keyframes row-in{0%{opacity:0;transform:translate(-14px)}}@keyframes bar-in{0%{transform:scaleX(0)}}.ambient{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}#app{position:relative;z-index:1}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.combo{max-width:560px}.wishes{list-style:none;margin:0;padding:0;display:grid;gap:8px}.wish{display:grid;grid-template-columns:72px minmax(0,1fr) auto auto;grid-template-areas:"icon info  odds remove" "icon grade odds remove";gap:6px 14px;align-items:center;padding:0 12px 0 0;background:var(--panel-2);border:1px solid var(--line)}.wish:hover{border-color:var(--line-2)}.wish-icon{grid-area:icon;align-self:stretch;display:grid;place-items:center;min-height:84px;border-right:1px solid var(--line);background:linear-gradient(160deg,color-mix(in srgb,var(--rar) 30%,transparent),transparent 85%);color:var(--rar);font:var(--hud-2xl)}.wish-info{grid-area:info;align-self:end;padding-top:10px;min-width:0}.wish>.seg{grid-area:grade;align-self:start;justify-self:start;margin-bottom:10px}.wish-odds{grid-area:odds;text-align:right;font-variant-numeric:tabular-nums}.wish-odds b{display:block;font:var(--hud-2xl)}.wish>.icon-btn{grid-area:remove}@media(max-width:640px){.wish{grid-template-columns:56px minmax(0,1fr) auto;grid-template-areas:"icon  info  remove" "icon  grade grade" "icon  odds  odds";padding-right:10px}.wish-icon{font-size:18px}.wish>.seg{margin-bottom:0}.wish-odds{text-align:left;padding-bottom:10px}.wish-odds b{display:inline;margin-right:8px;font-size:22px}}.labs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}@media(max-width:640px){.labs{grid-template-columns:minmax(0,1fr)}}.labs li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:center;padding:8px 10px 6px 14px;background:var(--panel-2);border:1px solid var(--line)}.labs li:hover{border-color:var(--line-2)}.labs .level-control{display:contents}.labs .level-track{grid-column:1 / -1;grid-row:2}.plan{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));gap:12px;align-items:start}.plan .drops{max-width:none}.plan-any{display:flex;justify-content:space-between;gap:10px;margin:10px -14px 0;padding:7px 14px;background:var(--panel-head);font-variant-numeric:tabular-nums}.plan-any span:first-child{color:var(--muted)}
