*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;font-family:Arial,sans-serif;background:#f5f5f0;color:#333}#infoBox{position:absolute;top:20px;left:20px;z-index:9999;width:320px;background:rgba(255,255,255,0.85);padding:1rem;border-radius:8px;box-shadow:2px 2px 8px rgba(0,0,0,0.2);border:2px solid #ccc;overflow-y:auto;max-height:94vh}#infoBox .close-btn{position:absolute;top:10px;right:10px;background:transparent;border:0;font-size:1.4rem;cursor:pointer;transition:transform .2s;user-select:none}#infoBox .close-btn:hover{transform:scale(1.3)}#infoIcon{position:absolute;top:20px;left:30px;z-index:10000;font-size:1.5rem;cursor:pointer;display:none;animation:fadeInInfoIcon .3s forwards;transition:transform .2s;user-select:none;color:gray;font-weight:bold}#infoIcon:hover{transform:scale(1.3)}@keyframes minimizeInfoBox{from{opacity:1;transform:scale(1);transform-origin:top left}to{opacity:0;transform:scale(0);transform-origin:top left}}@keyframes restoreInfoBox{from{opacity:0;transform:scale(0);transform-origin:top left}to{opacity:1;transform:scale(1);transform-origin:top left}}@keyframes fadeInInfoIcon{from{opacity:0}to{opacity:1}}.minimized{animation:minimizeInfoBox .3s forwards}.restored{animation:restoreInfoBox .3s forwards}#infoBox h2{margin-bottom:.5rem}#infoBox p{margin-bottom:1rem;font-size:.9rem}#sidebarButtons{margin-top:1rem}#sidebarButtons button{min-width:49%}#infoBox h3{margin-bottom:.5rem}#infoBox ul{list-style:none}#infoBox li{margin-bottom:.5rem}.legend-box{display:inline-block;width:22px;height:22px;margin-right:.5rem;border:1px solid #333;vertical-align:middle;border-radius:11px;opacity:.8}main{width:100%;height:100%;position:relative}#tree-container{width:100%;height:100%;position:absolute;top:0;left:0;background:#fff00}.nice-btn{background:#007bff;color:#fff;border:0;padding:.6rem 1rem;margin:.5rem 0;border-radius:4px;cursor:pointer;font-size:1rem}.nice-btn:hover{background:#005bbf}.nice-btn:disabled{background:#ccc;cursor:not-allowed}.cancel-btn{background:#6c757d;color:#fff;border:0;padding:.6rem 1rem;margin:.5rem 0;border-radius:4px;cursor:pointer;font-size:1rem}.cancel-btn:hover{background:#5a6268}.nice-input{border:2px solid #007bff;border-radius:4px;padding:.4rem;font-size:1rem;margin-top:.2rem}.link{fill:none;stroke:#888;stroke-width:2px;stroke-dasharray:5,5;stroke-linecap:round}.node circle{fill:#6c757d;stroke:#343a40;stroke-width:2px;cursor:default;transition:fill .3s}.legend-box.owned-and-paid,.node circle.node-owned-and-paid{fill:#4caf50;background:#4caf50}.legend-box.owned,.node circle.node-owned{fill:#2196f3;background:#2196f3}.legend-box.unowned,.node circle.node-unowned{fill:#ffeb3b;background:#ffeb3b;transition:filter .4s;cursor:pointer;position:relative}.legend-box.unowned::after{content:"\f07a";font-family:"Font Awesome 5 Free";font-weight:900;font-size:10px;color:#333;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.legend-box.in-transaction,.node circle.node-locked-in-transaction{fill:orange;background:orange;position:relative}.legend-box.in-transaction::after{content:"\f023";font-family:"Font Awesome 5 Free";font-weight:900;font-size:10px;color:#333;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.node text.icon{text-anchor:middle;alignment-baseline:middle;font-family:"Font Awesome 5 Free";font-weight:900;font-size:16px;fill:#666}.node:hover text.collapsed,.node:hover text.icon,.node:hover rect.collapsed,.node:hover circle.node-unowned,.node:hover circle.node-collapsed{filter:brightness(130%);transform:scale(1.15);transition:filter .4s,transform .4s}.node:hover circle.node-collapsed{transform:scale(1.3)}.node text.collapsed,.node text.icon,.node rect.collapsed,.node circle.node-unowned,.node circle.node-collapsed{transition:filter .4s,transform .4s}.node circle.node-collapsed{transform:scale(1.15)}.node rect.icon{display:none}.node text.collapsed{font-weight:bold;color:#f5f5f0}.legend-box.collapsed,.node circle.node-collapsed{fill:#dab1da;background:#dab1da;cursor:pointer}.node:has(>circle.node-collapsed){cursor:pointer}.labelRect{rx:8;ry:8;fill:rgba(255,255,255,0.6);stroke:none}.labelRect.collapsed{display:none}.node text{font-size:12px;fill:#fff;text-anchor:middle;alignment-baseline:middle;pointer-events:none;white-space:pre-wrap}#purchaseTitle{margin-bottom:1em}#purchaseModal{display:none;position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);z-index:9999;justify-content:center;align-items:center}#purchaseForm{background:rgba(255,255,255,0.9);padding:1rem;border:2px solid #444;border-radius:8px;width:300px;box-shadow:0 4px 8px rgba(0,0,0,0.2);overflow:scroll;max-height:90%}.purchaseField{display:flex;flex-direction:column;margin-bottom:.8rem}.purchaseField:last-of-type{margin-bottom:1.4rem}#multiPurchaseFields.hidden,#singlePurchaseFields.hidden{display:none!important}.hidden{display:none!important}.termsCheck{flex-direction:row;align-items:center}.nice-checkbox{margin-right:8px;min-width:30px;height:30px;cursor:pointer}.nice-checkbox:hover{filter:brightness(85%);transition:filter .2s}.nice-checkbox-label{font-size:.9rem;color:#333}.nice-checkbox:required+.nice-checkbox-label::after{content:" *";color:red}g.node .highlight-circle{stroke-width:10px;stroke-opacity:.5;stroke:#f00;fill:none}#jumpToCircleModal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);justify-content:center;align-items:center;z-index:1000}#jumpToCircleForm{background:white;padding:20px;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,0.1)}#jumpToCircleForm h3{text-align:center}#jumpForm{display:flex;flex-direction:column;align-items:center}.button-container{display:flex;justify-content:space-between;width:100%}.button-container button{width:48%}.search-results{list-style:none;padding:0;margin:0;max-height:150px;overflow-y:auto;border:1px solid #ccc;border-radius:4px;display:none}.search-results li{padding:8px;cursor:pointer}.search-results li:hover{background:#f0f0f0}.popover{position:relative;display:inline-block;cursor:pointer;color:#007bff;text-decoration:underline}.popover .popover-content{visibility:hidden;width:220px;background-color:#333;color:#fff;text-align:center;border-radius:6px;padding:8px;position:absolute;z-index:10000;bottom:125%;left:50%;transform:translateX(-100%);opacity:0;transition:opacity .3s}.popover.show .popover-content{visibility:visible;opacity:1}.popover-sidebar{position:relative;display:inline-block;color:grey;text-decoration:underline;cursor:pointer}.popover-sidebar .popover-content{visibility:hidden;width:220px;background-color:#333;color:#fff;text-align:center;border-radius:6px;padding:8px;position:absolute;z-index:10000;top:125%;left:50%;transform:translateX(-50%);opacity:0;transition:opacity .3s}.popover-sidebar:hover .popover-content{visibility:visible;opacity:1}.offensive-warning{color:red;display:none}#confirmationModal{display:none;position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);z-index:9999;justify-content:center;align-items:center}#confirmationContent{background:rgba(255,255,255,0.9);padding:1rem;border:2px solid #444;border-radius:8px;width:400px;box-shadow:0 4px 8px rgba(0,0,0,0.2);overflow:scroll;max-height:90%}#confirmationContent h3{margin-bottom:1rem}#confirmationContent p{margin-bottom:1rem;font-size:.9rem}#confirmationContent .close-btn{background:#007bff;color:#fff;border:0;padding:.6rem 1rem;border-radius:4px;cursor:pointer;font-size:1rem;width:100%}#confirmationContent .close-btn:hover{background:#005bbf}