/* The scene deliberately stays full bleed; navigation is owned by its host. */
.psky-scene{position:absolute;inset:0;isolation:isolate;overflow:hidden;background:linear-gradient(180deg,#185991 0%,#75b1d5 43%,#cee0e9 100%);color:#fff9e8;touch-action:pan-y;font-family:inherit}
.psky-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;z-index:0;outline:none}
.psky-scene::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(8,31,63,.14),transparent 21%,transparent 76%,rgba(28,57,79,.12))}
.psky-labels{position:absolute;inset:0;z-index:2;pointer-events:none}
.psky-node{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:118px;max-width:208px;min-height:46px;padding:5px 12px 7px;border:0;border-radius:4px;background:linear-gradient(90deg,transparent,rgba(13,41,70,.28) 24%,rgba(13,41,70,.28) 76%,transparent);color:#fff9e8;font:inherit;text-align:center;line-height:1.28;cursor:pointer;box-shadow:none;pointer-events:auto;transform:translate(-50%,0);text-shadow:0 1px 3px #143c63,0 1px 9px rgba(12,36,58,.85);-webkit-tap-highlight-color:transparent}
.psky-node[hidden]{display:none!important}
.psky-node::before{content:"";position:absolute;top:-11px;left:50%;height:9px;width:1px;background:linear-gradient(#ffe4a0,rgba(255,228,160,.2));pointer-events:none}
.psky-node-generation{font-size:9px;font-weight:600;letter-spacing:.17em;color:#f5e6c3;white-space:nowrap}
.psky-node-name{font-size:13px;font-weight:600;letter-spacing:.045em;overflow-wrap:anywhere;max-width:100%;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.psky-node.is-selected{min-width:150px;max-width:242px;background:linear-gradient(90deg,transparent,rgba(16,44,67,.62) 18%,rgba(16,44,67,.62) 82%,transparent);padding:8px 20px 10px}
.psky-node.is-selected .psky-node-name{font-size:18px;font-weight:650;letter-spacing:.055em}
.psky-node.is-selected .psky-node-generation{color:#ffe4a0;font-size:10px}
.psky-node.is-founder .psky-node-name{color:#ffeab5}
.psky-node:focus-visible{outline:2px solid #ffe4a0;outline-offset:4px;background:#184d74}
.psky-node:hover{background:linear-gradient(90deg,transparent,rgba(18,51,80,.72) 15%,rgba(18,51,80,.72) 85%,transparent);color:white}
.psky-notice{position:absolute;z-index:3;inset:42% 8% auto;text-align:center;padding:18px 22px;border:1px solid rgba(255,246,217,.34);border-radius:15px;background:rgba(25,61,89,.64);box-shadow:0 12px 40px rgba(13,43,70,.13);color:#fff8e9;font-size:14px;line-height:1.8;backdrop-filter:blur(8px)}
.psky-notice[hidden]{display:none!important}
.psky-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.psky-scene[data-state="fallback"] .psky-canvas{display:none}
.psky-scene[data-state="fallback"]{background:radial-gradient(ellipse at 25% 88%,#eef4ef 0,transparent 45%),radial-gradient(ellipse at 100% 67%,#dee9e8 0,transparent 40%),linear-gradient(170deg,#3173a7,#9abfd5 62%,#e0e8e5)}
@media(max-width:600px){.psky-node{min-width:108px;max-width:163px;padding-inline:9px;min-height:44px}.psky-node-name{font-size:12px}.psky-node-generation{font-size:9px}.psky-node.is-selected{max-width:205px;min-width:142px;padding-inline:13px}.psky-node.is-selected .psky-node-name{font-size:16px}.psky-notice{font-size:13px;padding:14px 15px}}
@media(prefers-reduced-motion:reduce){.psky-scene *{animation:none!important;transition:none!important}}

.psky-scene .psky-node:active:not(:disabled){transform:translate(-50%,0);box-shadow:none}
