:root,:root[data-theme=dark]{--cl-window-bg: rgb(32, 34, 38);--cl-border: rgb(72, 76, 84);--cl-text: rgb(224, 226, 230);--cl-text-dim: rgb(138, 143, 152);--cl-accent: rgb(70, 140, 220);--cl-edit-bg: rgb(26, 28, 32);--cl-btn-face: rgb(52, 56, 63);--cl-btn-hot: rgb(64, 70, 79);--cl-btn-press: rgb(40, 44, 50);--cl-banner-bg: rgb(24, 26, 30);--cl-banner-text: rgb(212, 216, 222);--cl-banner-text-dim: rgb(130, 136, 144);--cl-game-tab-off: rgb(52, 56, 62);--cl-game-tab-off-text: rgb(160, 165, 172);--cl-game-tab-on-text: rgb(255, 255, 255);--cl-pane-steps: rgb(38, 42, 50);--cl-pane-editor: rgb(42, 40, 36);--cl-pane-info: rgb(38, 46, 40);--cl-pane-label: rgb(150, 155, 164);--cl-splitter: rgb(56, 60, 66);--cl-splitter-hot: rgb(80, 110, 150);--cl-good: rgb(90, 200, 110);--cl-warn: rgb(230, 180, 60);--cl-bad: rgb(235, 110, 100);--cl-card-bg: rgb(44, 46, 52)}:root[data-theme=light]{--cl-window-bg: rgb(240, 240, 240);--cl-border: rgb(160, 165, 172);--cl-text: rgb(0, 0, 0);--cl-text-dim: rgb(110, 115, 122);--cl-accent: rgb(0, 102, 204);--cl-edit-bg: rgb(255, 255, 255);--cl-btn-face: rgb(228, 232, 237);--cl-btn-hot: rgb(214, 221, 229);--cl-btn-press: rgb(198, 207, 218);--cl-banner-bg: rgb(226, 229, 234);--cl-banner-text: rgb(40, 44, 50);--cl-banner-text-dim: rgb(120, 126, 134);--cl-game-tab-off: rgb(210, 214, 220);--cl-game-tab-off-text: rgb(90, 96, 104);--cl-game-tab-on-text: rgb(255, 255, 255);--cl-pane-steps: rgb(213, 223, 235);--cl-pane-editor: rgb(233, 229, 220);--cl-pane-info: rgb(219, 231, 221);--cl-pane-label: rgb(125, 131, 140);--cl-splitter: rgb(196, 200, 206);--cl-splitter-hot: rgb(150, 175, 210);--cl-good: rgb(46, 140, 60);--cl-warn: rgb(196, 140, 20);--cl-bad: rgb(196, 60, 50);--cl-card-bg: rgb(255, 255, 255)}:root[data-theme=poe]{--cl-window-bg: rgb(16, 13, 10);--cl-border: rgb(99, 78, 45);--cl-text: rgb(219, 200, 160);--cl-text-dim: rgb(150, 131, 100);--cl-accent: rgb(202, 152, 60);--cl-edit-bg: rgb(25, 20, 14);--cl-btn-face: rgb(49, 39, 24);--cl-btn-hot: rgb(72, 57, 34);--cl-btn-press: rgb(34, 27, 17);--cl-banner-bg: rgb(10, 8, 6);--cl-banner-text: rgb(224, 198, 150);--cl-banner-text-dim: rgb(142, 124, 94);--cl-game-tab-off: rgb(44, 36, 23);--cl-game-tab-off-text: rgb(170, 150, 114);--cl-game-tab-on-text: rgb(24, 17, 8);--cl-pane-steps: rgb(30, 24, 16);--cl-pane-editor: rgb(34, 28, 18);--cl-pane-info: rgb(30, 25, 17);--cl-pane-label: rgb(181, 156, 112);--cl-splitter: rgb(53, 42, 26);--cl-splitter-hot: rgb(142, 108, 53);--cl-good: rgb(120, 200, 110);--cl-warn: rgb(232, 182, 62);--cl-bad: rgb(222, 102, 82);--cl-card-bg: rgb(39, 31, 20)}:root{--cl-game-tab-on: var(--cl-accent);--cl-card-selected: var(--cl-accent);--cl-poe-content-bg: rgb(26, 26, 30);--cl-poe-content-dim: rgb(150, 150, 158);--cl-poe-sel-bg: rgb(38, 66, 110);--cl-poe-mod-text: rgb(180, 180, 255);--cl-affix-prefix: rgb(110, 190, 255);--cl-affix-suffix: rgb(255, 170, 90);--cl-tier-top: rgb(255, 210, 90);--cl-tier-good: rgb(130, 220, 130);--cl-rarity-normal: rgb(200, 200, 200);--cl-rarity-magic: rgb(136, 136, 255);--cl-rarity-rare: rgb(255, 255, 119);--cl-rarity-unique: rgb(175, 96, 37);--cl-fractured: rgb(164, 138, 84);--m-banner-h: 48px;--m-splitter-w: 6px;--m-min-steps: 180px;--m-min-editor: 400px;--m-min-info: 280px;--m-ctrl-h: 22px;--m-pad-x: 12px;--m-gap-s: 6px;--m-gap-m: 12px;--m-cond-header-h: 30px;--m-card-padding: 8px;--m-card-margin-v: 8px;--m-info-tab-strip-h: 30px;--font-ui: 12px "Segoe UI", system-ui, sans-serif;--font-ui-bold: bold 12px "Segoe UI", system-ui, sans-serif;--font-banner: bold 13px "Segoe UI", system-ui, sans-serif;--font-pane-label: bold 21px "Segoe UI", system-ui, sans-serif;--font-mono: 12px Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font:var(--font-ui);color:var(--cl-text);background:var(--cl-window-bg);overflow:hidden}button{font:var(--font-ui);height:var(--m-ctrl-h);padding:0 10px;color:var(--cl-text);background:var(--cl-btn-face);border:1px solid var(--cl-border);border-radius:2px;cursor:pointer}button:hover:not(:disabled){background:var(--cl-btn-hot)}button:active:not(:disabled){background:var(--cl-btn-press)}button:disabled{color:var(--cl-text-dim);cursor:default}button.accent{background:var(--cl-accent);color:var(--cl-game-tab-on-text);border-color:transparent}input,select,textarea{font:var(--font-ui);color:var(--cl-text);background:var(--cl-edit-bg);border:1px solid var(--cl-border);border-radius:2px;padding:2px 6px}input,select{height:var(--m-ctrl-h)}textarea{font:var(--font-mono)}input:focus,select:focus,textarea:focus{outline:1px solid var(--cl-accent)}label{color:var(--cl-text-dim)}:root{--ux-ground: #0c0e12;--ux-card: #14171d;--ux-card-2: #1a1e26;--ux-line: #262b35;--ux-text: #d7dae0;--ux-text-dim: #8b93a1;--ux-gold: #c8a45c;--ux-gold-dim: #8a7340;--ux-prefix: #8fb8ff;--ux-suffix: #ffc873;--ux-good: #79d979;--ux-warn: #ffa54f;--ux-bad: #ff6060;--ux-radius: 6px;--ux-font: 15px/1.45 "Segoe UI", system-ui, sans-serif;--ux-font-small: 12.5px/1.4 "Segoe UI", system-ui, sans-serif;--ux-mono: 12.5px/1.4 Consolas, monospace}.ux-page{max-width:1280px;margin:0 auto;padding:20px 24px 48px;font:var(--ux-font);color:var(--ux-text)}.ux-h1{font-size:22px;font-weight:600;color:var(--ux-gold);margin:0 0 4px;letter-spacing:.3px}.ux-h2{font-size:15px;font-weight:600;color:var(--ux-gold);margin:0;letter-spacing:.3px}.ux-sub{color:var(--ux-text-dim);font:var(--ux-font-small)}.ux-card{background:var(--ux-card);border:1px solid var(--ux-line);border-radius:var(--ux-radius);padding:14px 16px}.ux-group{border:1px solid var(--ux-line);border-left:3px solid var(--gc, var(--ux-gold-dim));border-radius:var(--ux-radius);background:var(--ux-card);margin-bottom:10px;overflow:hidden}.ux-group-head{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--ux-card-2);color:var(--gc, var(--ux-gold));font:var(--ux-font-small);font-weight:600;letter-spacing:.4px;text-transform:uppercase;cursor:pointer;-webkit-user-select:none;user-select:none}.ux-group-head .ux-count{color:var(--ux-text-dim);font-weight:400;text-transform:none}.ux-modrow{display:flex;align-items:center;gap:8px;padding:4px 10px;font:var(--ux-font-small);border-top:1px solid rgba(255,255,255,.03);cursor:pointer}.ux-modrow:hover{background:var(--ux-card-2)}.ux-modrow .tmpl{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ux-modrow .pct{color:var(--ux-text-dim);font:var(--ux-mono);flex:none}.ux-modrow .tier{color:var(--ux-good);font:var(--ux-mono);flex:none}.ux-tiers{padding:2px 10px 6px 26px;font:var(--ux-mono);color:var(--ux-text-dim)}.ux-tiers .t1{color:var(--ux-good)}.ux-chip{display:inline-flex;align-items:center;padding:0 7px;height:20px;border-radius:10px;font:var(--ux-font-small);font-weight:600;border:1px solid var(--gc, var(--ux-line));color:var(--gc, var(--ux-text-dim));background:transparent;cursor:pointer;-webkit-user-select:none;user-select:none}.ux-chip.on{background:var(--gc, var(--ux-gold));color:#000}.ux-chip.static{cursor:default}.ux-btn,.ux-cat,.ux-quickchip{height:auto;min-height:0}.ux-btn{font:var(--ux-font-small);font-weight:600;padding:5px 14px;border-radius:var(--ux-radius);border:1px solid var(--ux-line);background:var(--ux-card-2);color:var(--ux-text);cursor:pointer}.ux-btn:disabled{opacity:.4;cursor:default;filter:none}.ux-btn.primary:disabled{background:var(--ux-gold-dim);border-color:var(--ux-gold-dim)}.ux-btn:hover{border-color:var(--ux-gold-dim)}.ux-btn.primary{background:var(--ux-gold);border-color:var(--ux-gold);color:#14130d}.ux-btn.primary:hover{filter:brightness(1.08)}.ux-btn.small{padding:1px 8px}.ux-cat{font:var(--ux-font-small);font-weight:600;padding:6px 14px;border-radius:var(--ux-radius);border:1px solid var(--ux-line);background:var(--ux-card);color:var(--ux-text);cursor:pointer}.ux-cat:hover{border-color:var(--ux-gold-dim);color:var(--ux-gold)}.ux-cat.on{border-color:var(--ux-gold);color:var(--ux-gold);background:var(--ux-card-2)}.ux-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.ux-col-head{font-weight:600;letter-spacing:.5px;margin:0 0 8px}.ux-col-head.prefix{color:var(--ux-prefix)}.ux-col-head.suffix{color:var(--ux-suffix)}.ux-basegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}.ux-basecard{display:flex;flex-direction:column;gap:2px;padding:8px 12px;border:1px solid var(--ux-line);border-radius:var(--ux-radius);background:var(--ux-card);cursor:pointer}.ux-basecard:hover{border-color:var(--ux-gold-dim);background:var(--ux-card-2)}.ux-basecard b{color:var(--ux-text)}.ux-meta-chip{align-self:flex-start;font:11px/1.3 Segoe UI,system-ui,sans-serif;font-weight:600;color:var(--ux-gold);border:1px solid var(--ux-gold-dim);border-radius:8px;padding:0 6px}.ux-tt{background:#060708;border:1px solid #3d3628;box-shadow:0 0 0 1px #14120c,0 6px 24px #00000080;border-radius:3px;font:var(--ux-font-small);min-width:300px}.ux-tt-head{text-align:center;padding:7px 14px 6px;background:linear-gradient(180deg,#201a10,#171310);border-bottom:1px solid #3d3628}.ux-tt-name{color:#ff7;font-weight:600;font-size:14px;letter-spacing:.3px}.ux-tt-base{color:#a89f8a}.ux-tt-body{padding:8px 14px 10px}.ux-tt-sep{height:1px;margin:6px 10%;background:linear-gradient(90deg,transparent,#4a4130,transparent)}.ux-tt-line{display:flex;align-items:center;gap:6px;padding:1px 0;color:#88f}.ux-tt-line .txt{flex:1;min-width:0}.ux-tt-line .side{font:var(--ux-mono);flex:none;width:12px}.ux-tt-line .side.p{color:var(--ux-prefix)}.ux-tt-line .side.s{color:var(--ux-suffix)}.ux-tt-line .x{visibility:hidden;color:var(--ux-bad);cursor:pointer;border:none;background:none;font-weight:700}.ux-tt-line:hover .x{visibility:visible}.ux-tt-open{padding:1px 0;color:#4a4f5a;font-style:italic;text-align:center}.ux-tt-foot{color:#7a7264;text-align:center;padding:0 14px 8px}.ux-tt-tier{font:11px/1.2 Consolas,monospace;font-weight:700;border:1px solid var(--ux-line);border-radius:3px;padding:0 4px;cursor:pointer;color:var(--ux-text-dim);background:none;flex:none}.ux-tt-tier.on{color:#000;background:var(--ux-good);border-color:var(--ux-good)}.ux-startgrid{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:start}.ux-arrow{align-self:center;color:var(--ux-gold);font-size:26px;padding:0 4px}.ux-mode{display:flex;gap:6px;margin-bottom:8px}.ux-plan{background:var(--ux-card);border:1px solid var(--ux-line);border-radius:var(--ux-radius);padding:12px 14px;margin-bottom:10px}.ux-plan.winner{border-color:var(--ux-gold);box-shadow:0 0 0 1px var(--ux-gold-dim)}.ux-plan-rank{flex:none;width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font:var(--ux-font-small);font-weight:700;background:var(--ux-card-2);border:1px solid var(--ux-line);color:var(--ux-text-dim)}.ux-plan.winner .ux-plan-rank{background:var(--ux-gold);color:#14130d;border-color:var(--ux-gold)}.ux-plan-cost{font:700 18px/1.2 Consolas,monospace;color:var(--ux-text)}.ux-plan.winner .ux-plan-cost{color:var(--ux-gold)}.ux-badge{font:11px/1.5 Segoe UI,system-ui,sans-serif;font-weight:700;padding:0 7px;border-radius:9px;letter-spacing:.3px}.ux-badge.cheapest{background:var(--ux-gold);color:#14130d}.ux-badge.consistent{background:var(--ux-good);color:#0c140c}.ux-badge.fastest{background:var(--ux-prefix);color:#0b1220}.ux-badge.assumed{background:transparent;color:var(--ux-warn);border:1px solid var(--ux-warn)}.ux-bar{position:relative;height:5px;border-radius:3px;background:var(--ux-card-2);overflow:hidden;width:90px}.ux-bar>i{position:absolute;inset:0 auto 0 0;border-radius:3px;background:var(--ux-good)}.ux-curr{color:var(--ux-text-dim);font:var(--ux-mono)}.ux-brand{font:12px/1.4 Segoe UI,system-ui,sans-serif;font-weight:700;letter-spacing:3px;color:var(--ux-gold);margin-bottom:6px}.ux-brand span{color:var(--ux-text-dim);font-weight:400;letter-spacing:.5px}.ux-props{display:flex;gap:10px;margin-bottom:16px}.ux-prop{flex:1;display:flex;flex-direction:column;gap:3px;padding:10px 14px;border:1px solid var(--ux-line);border-radius:var(--ux-radius);background:var(--ux-card)}.ux-prop b{color:var(--ux-gold);font-size:13.5px;letter-spacing:.3px}@media(max-width:760px){.ux-props{flex-direction:column}}.ux-quick{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.ux-quickchip{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 14px;border:1px solid var(--ux-line);border-radius:var(--ux-radius);background:var(--ux-card);cursor:pointer;text-align:left}.ux-quickchip:hover{border-color:var(--ux-gold-dim);background:var(--ux-card-2)}.ux-footer{flex:none;padding:6px 16px;text-align:center;color:var(--ux-text-dim);font:11.5px/1.5 Segoe UI,system-ui,sans-serif;border-top:1px solid var(--ux-line);background:var(--ux-ground)}.tb-page{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;max-width:1220px;margin:0 auto;padding:18px 24px 40px;font:var(--ux-font);color:var(--ux-text)}@media(max-width:980px){.tb-page{grid-template-columns:1fr}}.tb-hero{background:radial-gradient(120% 90% at 50% -20%,#1d2027,#101216 55%,#0b0d10);border:1px solid #3d3628;box-shadow:0 0 0 1px #14120c,0 12px 40px #0000008c;border-radius:6px;overflow:hidden}.tb-hero-head{text-align:center;padding:12px 18px 10px;background:linear-gradient(180deg,#241d10,#171310 85%);border-bottom:1px solid #3d3628}.tb-hero-name{color:#ff7;font-weight:600;font-size:19px;letter-spacing:.4px}.tb-hero-base{color:#a89f8a;font-size:14px}.tb-hero-sub{color:#7a7264;font-size:12px;margin-top:2px}.tb-hero-sub .eld-exarch{color:#ff9a63}.tb-hero-sub .eld-eater{color:#c19aff}.tb-lanes{padding:14px 20px 16px}.tb-lane-label{font:600 11px/1.4 Segoe UI,system-ui,sans-serif;letter-spacing:1.6px;text-transform:uppercase;color:var(--ux-text-dim);margin:6px 0 4px;display:flex;align-items:center;gap:8px}.tb-lane-label.p{color:var(--ux-prefix)}.tb-lane-label.s{color:var(--ux-suffix)}.tb-lane-label:after{content:"";flex:1;height:1px;background:#262b35}.tb-slot{display:flex;align-items:center;gap:10px;padding:7px 12px;margin:4px 0;border-radius:4px;border:1px solid #20242c;background:linear-gradient(180deg,#14171d,#111318);min-height:38px;transition:border-color .15s ease,box-shadow .15s ease}.tb-slot.filled:hover{border-color:#3a4150}.tb-slot.empty{border-style:dashed;border-color:#262b35;color:#4a4f5a;font-style:italic;justify-content:center;background:transparent}.tb-slot .mod-text{flex:1;color:#88f;font-size:14px;line-height:1.35}.tb-slot.fractured{border-color:#7a5c28;box-shadow:inset 0 0 12px #c8963c1a}.tb-slot.fractured .mod-text{color:#c9aa6e}.tb-slot.crafted .mod-text{color:#b4b4ff}.tb-slot .frac-mark{color:#c9974b;font-size:11px;font-weight:700;letter-spacing:.5px}.tb-tier{flex:none;font:700 11px/1 Consolas,monospace;border-radius:3px;padding:4px 6px;background:#1a1e26;color:var(--ux-text-dim);border:1px solid #262b35}.tb-tier.t1{color:#ffd76e;border-color:#6d5a2b;background:#231d0e}.tb-tier.t2{color:#8fe98f;border-color:#2f5c2f;background:#10200f}.tb-tier.t3{color:#7fc7ff;border-color:#2b4d68;background:#0d1a24}.tb-goals{display:flex;flex-wrap:wrap;gap:6px;padding:10px 18px 0}.tb-goal{font:600 11.5px/1.6 Segoe UI,system-ui,sans-serif;padding:0 9px;border-radius:9px;border:1px solid var(--ux-line);color:var(--ux-text-dim);max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-goal.met{border-color:#2f5c2f;color:#8fe98f;background:#10200f}.tb-tray{margin-top:14px;background:var(--ux-card);border:1px solid var(--ux-line);border-radius:6px;padding:10px 12px}.tb-tray-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.tb-orb,.tb-drawer-btn,.tb-mode button{height:auto;min-height:0}.tb-orb{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;width:70px;padding:7px 2px 5px;border-radius:6px;border:1px solid transparent;background:transparent;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .06s ease}.tb-orb:hover{background:#1a1e26;border-color:#3a4150}.tb-orb:active{transform:scale(.94)}.tb-orb.plan-next{border-color:var(--ux-gold);box-shadow:0 0 10px #c8a45c40;background:#1c1910}.tb-orb img{width:30px;height:30px;image-rendering:auto;filter:drop-shadow(0 2px 3px rgba(0,0,0,.6))}.tb-orb .orb-fallback{width:30px;height:30px;border-radius:50%;background:#262b35;display:flex;align-items:center;justify-content:center;font:700 12px/1 Segoe UI,system-ui,sans-serif;color:var(--ux-text-dim)}.tb-orb .orb-name{font:10.5px/1.15 Segoe UI,system-ui,sans-serif;color:var(--ux-text-dim);text-align:center;max-height:24px;overflow:hidden}.tb-orb .orb-price{font:10px/1 Consolas,monospace;color:var(--ux-gold-dim)}.tb-orb:disabled{opacity:.35;cursor:default}.tb-drawer-btn{font:600 11.5px/1.4 Segoe UI,system-ui,sans-serif;letter-spacing:.5px;padding:4px 10px;border-radius:4px;border:1px solid var(--ux-line);background:var(--ux-card-2);color:var(--ux-text-dim);cursor:pointer}.tb-drawer-btn.open,.tb-drawer-btn:hover{color:var(--ux-gold);border-color:var(--ux-gold-dim)}.tb-drawer{border-top:1px solid var(--ux-line);margin-top:6px;padding-top:8px;max-height:200px;overflow-y:auto}.tb-rail{display:flex;flex-direction:column;gap:12px;min-width:0}.tb-card{background:var(--ux-card);border:1px solid var(--ux-line);border-radius:6px;padding:12px 14px}.tb-card h3{margin:0 0 8px;font:600 11px/1.4 Segoe UI,system-ui,sans-serif;letter-spacing:1.4px;text-transform:uppercase;color:var(--ux-text-dim)}.tb-mode{display:flex;gap:0;border:1px solid var(--ux-line);border-radius:6px;overflow:hidden}.tb-mode button{flex:1;padding:7px 0;font:600 12.5px/1.4 Segoe UI,system-ui,sans-serif;background:var(--ux-card);color:var(--ux-text-dim);border:none;cursor:pointer}.tb-mode button.on{background:var(--ux-gold);color:#14130d}.tb-instr{font-size:15px;font-weight:600;color:var(--ux-gold);line-height:1.4}.tb-note{color:var(--ux-warn);font:var(--ux-font-small)}.tb-spend{font:var(--ux-mono);color:var(--ux-text-dim)}.tb-log{font:var(--ux-font-small);color:var(--ux-text-dim);max-height:180px;overflow-y:auto}.tb-log b{color:var(--ux-text)}.tb-toast{position:fixed;left:50%;bottom:46px;transform:translate(-50%);background:#1c1910;border:1px solid var(--ux-gold-dim);color:var(--ux-text);border-radius:6px;padding:8px 16px;font:var(--ux-font-small);z-index:40;animation:tb-toast-in .18s ease}@keyframes tb-toast-in{0%{opacity:0;transform:translate(-50%,8px)}}@keyframes tb-flash{0%{box-shadow:inset 0 0 18px #c8a45c59}to{box-shadow:none}}.tb-slot.flash{animation:tb-flash .5s ease}
