.tree-page{position:relative}.tree-shell{display:grid;gap:16px;width:100%;max-width:none;margin:0;padding:20px 12px 0}.tree-grid{display:grid;gap:28px}.tree-board{position:relative;min-height:70vh;border:2px dashed rgba(255,140,0,.35);border-radius:12px;background:radial-gradient(circle at 30% 20%,rgba(255,140,0,.08),transparent 45%),radial-gradient(circle at 70% 80%,rgba(255,140,0,.08),transparent 50%),repeating-linear-gradient(0deg,rgba(255,140,0,.05),rgba(255,140,0,.05) 1px,transparent 0,transparent 3px),repeating-linear-gradient(90deg,rgba(255,140,0,.04),rgba(255,140,0,.04) 1px,transparent 0,transparent 4px);overflow:hidden}.tree-board,.tree-board.is-panning{cursor:default}.tree-grid-board{transform-origin:top center;transition:transform .05s linear}.tree-node{gap:18px}.tree-node,.tree-node-badge{display:flex;flex-direction:column;align-items:center;position:relative}.tree-node-badge{gap:8px}.tree-node.has-children .tree-node-badge:after{content:"";position:absolute;left:50%;bottom:-14px;width:2px;height:14px;background:rgba(255,140,0,.6);transform:translateX(-50%)}.tree-badge-button{display:block}.tree-badge-add-friend{width:34px;height:34px;border-radius:8px;border:1px solid rgba(255,204,0,.7);background:rgba(26,15,15,.85);color:#fc0;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1;padding:0;cursor:pointer;position:absolute;bottom:-10px;right:10px;box-shadow:0 0 10px rgba(255,204,0,.2);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.tree-badge-add-friend:hover{transform:translateY(-1px);border-color:#fc6;box-shadow:0 0 16px rgba(255,204,0,.35)}.tree-page .avatar{cursor:default}.tree-page .username{cursor:pointer}.tree-badge-add-friend:after{content:"Send friend request";position:absolute;bottom:100%;left:50%;transform:translate(-50%,-6px);background:rgba(26,15,15,.98);border:2px solid rgba(255,140,0,.9);border-radius:6px;padding:4px 8px;color:#fc0;font-size:10px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s ease;box-shadow:0 0 12px rgba(255,140,0,.35)}.tree-badge-add-friend:hover:after{opacity:1}.tree-badge-button.is-focused .user-badge{border-color:#fc0;box-shadow:0 0 14px rgba(255,204,0,.35)}.tree-node-children{display:flex;flex-wrap:wrap;gap:28px;justify-content:center;position:relative;padding-top:14px}.tree-node-children:before{content:"";position:absolute;top:0;left:50%;width:2px;height:14px;background:rgba(255,140,0,.6);transform:translateX(-50%)}.tree-node.is-virtual>.tree-node-children:before{display:none}@media (max-width:720px){.tree-grid{gap:22px}.tree-node-children{gap:18px}.tree-node-children:before,.tree-node.has-children .tree-node-badge:after{height:10px}}