/* v0.13.8 functional UI enhancement. All interface text remains DOM text. */
.equipment-tooltip{font-family:'Malgun Gothic',system-ui,sans-serif;background:linear-gradient(#141b2e,#192036);border:2px solid #9c7652;border-radius:10px;padding:12px;box-shadow:inset 0 0 0 3px #0b1328}
.equipment-tooltip.rarity-magic{border-color:#688ed1}.equipment-tooltip.rarity-rare{border-color:#c59e58}
.tooltip-head{text-align:center;border-bottom:1px solid #776755;padding:12px 8px;background:radial-gradient(ellipse at 50% 0,#56423260,transparent 75%)}
.tooltip-head h2{margin:5px auto;color:#ffda89;font-weight:900;font-size:clamp(19px,3vw,26px);letter-spacing:-.5px;overflow-wrap:anywhere}
.tooltip-head p{font-size:12px;color:#d2c5b5}.tooltip-rarity{font-size:12px;color:#e5b97e;font-weight:750}
.rarity-magic .tooltip-head h2{color:#91b8ff}.rarity-rare .tooltip-head h2{color:#f1c762}
.tooltip-identity{display:grid;grid-template-columns:94px minmax(0,1fr);align-items:center;gap:12px;margin:12px 4px}
.tooltip-identity img{width:94px;height:94px;object-fit:contain;image-rendering:pixelated;border:2px solid #695c67;background:#141728;border-radius:6px}
.tooltip-summary{display:grid;gap:7px;color:#d6cee0;font-size:13px}.tooltip-summary b{color:#f8dbad;font-size:14px}
.tooltip-divider{margin:16px 0 10px;text-align:center;color:#f6d4a6;font-size:12px;font-weight:800;letter-spacing:2px;position:relative;border-bottom:1px solid #655878;padding-bottom:8px}
.equipment-tooltip .affix-stack{grid-template-columns:1fr;gap:7px;margin:10px 0}
.equipment-tooltip .affix-block{border:1px solid #536fa0;border-left:3px solid #7699e3;padding:10px 12px;background:linear-gradient(110deg,#1a2440,#181d33)}
.equipment-tooltip .affix-block.suffix{border:1px solid #7e6887;border-left:3px solid #d19c64;background:linear-gradient(110deg,#292037,#1d1e33)}
.affix-title{display:flex;justify-content:space-between;gap:9px;font-size:12px;line-height:1.5;margin-bottom:4px;overflow-wrap:anywhere}
.affix-line{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:13px;line-height:1.7}
.affix-line strong{color:#b7d4ff;font-size:14px;white-space:nowrap;font-weight:900}.suffix .affix-line strong{color:#e8cb9f}
.affix-range{color:#8e99ac;font-size:10px;display:block;text-align:right}.affix-position{font-size:10px;color:#beaccd;margin:4px 0 7px}.affix-position b{color:#88d2af}
.affix-inactive{opacity:.6;border-style:dashed!important;filter:saturate(.56)}.affix-inactive .affix-position b{color:#f2a5a5}
.equipment-tooltip .dual-grids{margin:10px auto}.equipment-tooltip .grid-wrap{background:#12192c}
/* Actual clickable passive DAG with server-defined dependencies. */
.passive-root-list{max-width:none!important;display:block!important;padding:0!important;overflow:visible!important}
.passive-root-list::before{content:none!important;display:none!important}
.passive-graph-scroll{max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior:contain;border-radius:13px;background:linear-gradient(150deg,#111f34,#21192c);border:1px solid #6f5d69;scrollbar-color:#aa8264 #171a2d;}
.passive-graph{width:480px;min-width:480px;max-width:none;position:relative;margin:0 auto;background-image:radial-gradient(#a18c5530 1px,transparent 1px);background-size:24px 24px}
.graph-lines{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:visible}
.graph-edge{fill:none;stroke:#8b7382;stroke-width:2;opacity:.56;stroke-linejoin:round;stroke-linecap:round}
.graph-edge.lit{stroke:#f1bf74;opacity:1;stroke-width:3.2;filter:drop-shadow(0 0 3px #eeb362)}
.graph-node{position:absolute;z-index:1;transform:translate(-50%,-24px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:126px;background:none;border:0;padding:0;cursor:pointer;color:#dacdc8;text-align:center;font:inherit}
.graph-node__icon{width:54px;height:54px;display:grid;place-items:center;border:3px solid #675c73;border-radius:16px;background:linear-gradient(135deg,#372b41,#111a2c);position:relative;box-shadow:0 4px 8px #0007;transition:transform .12s}
.graph-node__icon img{width:40px;height:40px;object-fit:contain;image-rendering:pixelated}
.graph-node__icon em{position:absolute;bottom:-7px;right:-8px;font-style:normal;font-size:10px;font-weight:800;background:#171425;border:1px solid #957a78;color:#fff1db;padding:2px 4px;border-radius:6px}
.graph-node__name{max-width:125px;min-height:29px;font-size:11px;font-weight:800;line-height:1.25;white-space:normal;overflow-wrap:anywhere;background:#171b30e9;border:1px solid #756172;border-radius:7px;padding:3px 5px}
.graph-node.locked{opacity:.53}.graph-node.available .graph-node__icon{border-color:#a1c7bb}.graph-node.owned .graph-node__icon{border-color:#ffcf79;box-shadow:0 0 18px #f1b45e72}
.graph-node.graph-side .graph-node__icon{border-radius:50%}
.graph-node:focus-visible .graph-node__icon,.graph-node:hover .graph-node__icon{outline:3px solid #fff3c8;outline-offset:3px;transform:scale(1.12)}
.graph-hint{text-align:center;color:#b9b3c6;margin:10px 3px 0}
@media (max-width:570px){.equipment-tooltip{padding:8px}.tooltip-identity{grid-template-columns:72px 1fr;gap:9px}.tooltip-identity img{width:72px;height:72px}.tooltip-summary{font-size:11px}.equipment-tooltip .dual-grids{max-width:100%}.passive-graph{margin-left:0}.graph-node{width:110px}.graph-node__name{max-width:108px}}
.tooltip-head h2{word-break:keep-all}
