.vf-comp-page{max-width:1240px;margin:0 auto;padding:30px 24px 80px;color:#292433}
.vf-comp-page>h1{font:400 clamp(34px,4vw,52px)/1.16 Georgia,serif;text-align:center;margin:28px 0 32px;color:#262031}
.vf-comp,.vf-comp *{box-sizing:border-box}
.vf-comp{font-family:'Segoe UI',Arial,sans-serif;font-size:16px;line-height:1.55}
.vf-comp-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:14px;align-items:end;max-width:1050px;margin:0 auto 36px;padding:22px 26px;border:1px solid #e6dce7;border-radius:18px;background:#fff;box-shadow:0 8px 30px #533a550a}
.vf-comp-field{min-width:0}
.vf-comp-field label{display:block;font-size:14px;font-weight:600;margin:0 0 9px;color:#533a55}
.vf-comp-field input{display:block;width:100%;height:50px;border:1px solid #d8cbd9;border-radius:9px;background:#fff;padding:10px 13px;color:#292433;font:16px 'Segoe UI',Arial,sans-serif}
.vf-comp-submit,.vf-comp-next a{display:inline-flex;align-items:center;justify-content:center;min-height:50px;border:1px solid #633d61;border-radius:9px;background:#633d61;color:#fff;padding:10px 22px;font:600 16px 'Segoe UI',Arial,sans-serif;text-decoration:none;cursor:pointer}
.vf-comp-submit:disabled{opacity:.6;cursor:wait}
.vf-comp-error{color:#9c2844;margin:7px 0 0;font-size:14px}
.vf-comp-general-error{grid-column:1/-1;margin:0}
.vf-comp-pair-card{max-width:820px;margin:0 auto 30px;padding:25px 30px;text-align:center;border:1px solid #e1d0e3;border-radius:22px;background:#f8f4f8;box-shadow:0 8px 30px #533a5509}
.vf-comp-eyebrow{font-size:13px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#79507d;margin:0 0 8px}
.vf-comp-pair-card h2{font:400 clamp(26px,3vw,34px)/1.25 Georgia,serif;color:#533a55;margin:0 0 16px}
.vf-comp-pair-energy{display:flex;align-items:center;justify-content:center;width:86px;height:86px;margin:0 auto 17px;border:3px solid #8e668f;border-radius:50%;background:#fff;color:#633d61;font:700 43px Georgia,serif}
.vf-comp-pair-card>p:not(.vf-comp-eyebrow){max-width:690px;margin:0 auto 12px;color:#5f5966}
.vf-comp-pair-source{font-size:15px;font-weight:600;color:#533a55!important}
.vf-comp-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.vf-comp-person{min-width:0;padding:20px;border:1px solid #e6dce7;border-radius:20px;background:#fff;box-shadow:0 6px 25px #533a5508}
.vf-comp-person-head h2{font:400 clamp(26px,2.4vw,31px)/1.25 Georgia,serif;color:#533a55;margin:0 0 7px}
.vf-comp-person-head p{font-size:14px;color:#6b6170;margin:0 0 10px}
.vf-comp-matrix{width:100%;max-width:700px;margin:0 auto}
.vf-comp-matrix-note{font-size:13px;color:#706674;margin:4px 4px 16px}
.vf-comp-svg{display:block;width:100%;height:auto;overflow:visible}
.vf-comp-svg .guide{fill:none;stroke:#d7cddc;stroke-width:1.5}
.vf-comp-svg .skeleton{fill:none;stroke:#917e93;stroke-width:2.2}
.vf-comp-svg .axis{fill:none;stroke:#a590a5;stroke-width:2}
.vf-comp-svg .diagonal{fill:none;stroke:#b5a4b7;stroke-width:2}
.vf-comp-svg .channel{fill:none;stroke:#a48ba9;stroke-width:2;stroke-dasharray:5 8}
.vf-comp-svg text{text-anchor:middle;dominant-baseline:middle;user-select:none}
.vf-comp-svg .family-label{font:600 11px 'Segoe UI',Arial,sans-serif;letter-spacing:2px;fill:#a18da6}
.vf-comp-svg .symbol{font:30px Georgia,serif;fill:#9b759c}
.vf-comp-svg .tick{stroke:#bdafc0;stroke-width:1.4}
.vf-comp-svg .cycle-energy{font:15px 'Segoe UI',Arial,sans-serif;fill:#816f87}
.vf-comp-svg .age-label{font:600 17px 'Segoe UI',Arial,sans-serif;fill:#6e5d73}
.vf-comp-svg .age-small{font-size:13px}
.vf-comp-svg .node circle{fill:#fff;stroke:#9c8b9e;stroke-width:2.2}
.vf-comp-svg .node.main circle{fill:#f7f0f7;stroke:#735b79;stroke-width:3}
.vf-comp-svg .node.center circle{fill:#e9ddec;stroke:#694b70;stroke-width:3.5}
.vf-comp-svg .node text{font:600 25px 'Segoe UI',Arial,sans-serif;fill:#473a4d}
.vf-comp-svg .node.small text{font-size:20px}
.vf-comp-svg .node.main text{font-size:28px}
.vf-comp-svg .node.center text{font-size:34px}
.vf-comp-svg .node.scenario-point circle{fill:#faefd5;stroke:#a37935;stroke-width:4}
.vf-comp-svg .node.scenario-point text{fill:#714e1c}
.vf-comp-svg .node.active-point circle{fill:#e5cfe9;stroke:#603563;stroke-width:6}
.vf-comp-svg .node.active-point text{fill:#4c2450}
.vf-comp-svg .node.scenario-point{cursor:pointer}
.vf-comp-cards{list-style:none;display:grid;gap:10px;padding:0;margin:0}
.vf-comp-cards li{margin:0;padding:0}
.vf-comp-cards button{display:flex;align-items:center;gap:12px;width:100%;min-height:69px;padding:11px 13px;border:1px solid #e4d9e5;border-radius:12px;background:#fcfafc;color:#292433;text-align:left;cursor:pointer}
.vf-comp-cards button[aria-pressed=true]{border-color:#79507d;background:#f6edf7;box-shadow:inset 4px 0 #79507d}
.vf-comp-card-number{font:400 22px Georgia,serif;color:#9b789d}
.vf-comp-card-title{flex:1;font-size:16px;font-weight:600}
.vf-comp-card-energy{display:grid;place-items:center;min-width:43px;height:43px;padding:0 4px;border-radius:50%;background:#f6ecd4;color:#6d4a1c;font:700 22px Georgia,serif}
.vf-comp-next{margin:30px auto 0;max-width:900px;padding:27px;border:1px solid #e6dce7;border-radius:18px;background:#f8f4f8;text-align:center}
.vf-comp-next h2{max-width:800px;margin:0 auto 18px;font:400 24px/1.35 Georgia,serif;color:#533a55}
.vf-comp-existing-content{margin-top:45px}
.vf-comp button:focus-visible,.vf-comp a:focus-visible,.vf-comp input:focus-visible,.vf-comp-svg .node:focus-visible{outline:3px solid #9b6daa;outline-offset:2px}
.vf-comp [hidden]{display:none!important}
@media(max-width:1000px){.vf-comp-form{grid-template-columns:repeat(2,minmax(0,1fr))}.vf-comp-submit{grid-column:1/-1}.vf-comp-people{grid-template-columns:1fr}.vf-comp-person{max-width:760px;width:100%;margin:0 auto}}
@media(max-width:600px){.vf-comp-page{padding:22px 12px 55px}.vf-comp-page>h1{font-size:clamp(30px,8vw,38px);margin:22px 0 25px}.vf-comp-form{display:flex;flex-direction:column;align-items:stretch;padding:17px;gap:14px;margin-bottom:27px}.vf-comp-submit{width:100%;font-size:15px}.vf-comp-pair-card{padding:21px 16px}.vf-comp-pair-energy{width:76px;height:76px;font-size:38px}.vf-comp-person{padding:14px 10px}.vf-comp-person-head{padding:0 5px}.vf-comp-person-head h2{font-size:26px}.vf-comp-svg .minor-cycle{display:none}.vf-comp-svg .node circle{r:26px}.vf-comp-svg .node text{font-size:36px}.vf-comp-svg .node.small text{font-size:30px}.vf-comp-svg .node.small circle{r:23px}.vf-comp-svg .node.main text{font-size:38px}.vf-comp-svg .node.main circle{r:32px}.vf-comp-svg .node.center text{font-size:42px}.vf-comp-svg .node.center circle{r:39px}.vf-comp-svg .cycle-energy{font-size:20px}.vf-comp-svg .age-label{font-size:20px}.vf-comp-cards button{min-height:68px}.vf-comp-next{padding:21px 14px}.vf-comp-next h2{font-size:21px}.vf-comp-next a{width:100%;font-size:14px}.vf-comp-existing-content{margin-top:35px}}
