@import url('./planner.css?v=tree-model-guide-v1');

/* Calculator v3: living org tree. Overrides the v1 label rail, connector, and horizontal scroll rules. */
[data-team-calculator] .vtp-tree-card{padding:14px;overflow:hidden!important;align-content:start}
.vtp-tree-visual{display:block!important;position:relative;width:100%;max-width:none;min-width:0!important;margin:0}
.vtp-tree-svg{display:block;width:100%;height:auto;aspect-ratio:1000/840;overflow:visible}
.v3-title{font:700 22px/1 'JetBrains Mono',monospace;letter-spacing:.22em;fill:#f7f4ec}
.v3-quote{font:600 17px/1 Karla,system-ui,sans-serif;fill:#f7f4ec}
.v3-badge rect{fill:#0f2a20;stroke:#b99b50;stroke-width:1.2}
.v3-badge text{font:700 13px/1 'JetBrains Mono',monospace;letter-spacing:.12em;fill:#eac55b}
.v3-ground{stroke:#84cf8c;stroke-width:1.5;stroke-dasharray:6 6;opacity:.8}
.v3-ground-label{font:600 11px/1 'JetBrains Mono',monospace;letter-spacing:.18em;fill:#c9a075;opacity:.8}
.v3-trunk{transition:opacity .25s ease}
.v3-trunk-label{font:700 12px/1 'JetBrains Mono',monospace;letter-spacing:.14em;fill:#eac55b}
.v3-sprout{transition:opacity .35s ease}
.v3-wood{filter:url(#v3bark)}
.v3-rootwood{filter:url(#v3rootbark)}
.v3-ghost{fill:none;stroke:#eac55b;stroke-width:4;stroke-linecap:round;stroke-dasharray:3 9;opacity:.5}
.v3-stub{fill:none;stroke:#84cf8c;stroke-width:4;stroke-linecap:round;stroke-dasharray:5 7;opacity:.55}
.v3-rootstub{fill:none;stroke:#b08a5e;stroke-width:3.5;stroke-linecap:round;opacity:.55}
.v3-leaves-back{opacity:.75}
.v3-clump{transform-box:fill-box}
.v3-sway{transform-box:fill-box;transform-origin:50% 100%;animation:v3sway 4.2s ease-in-out infinite alternate}
.v3-clump:nth-child(2n) .v3-sway{animation-duration:5.1s;animation-delay:-1.3s}
.v3-clump:nth-child(3n) .v3-sway{animation-duration:3.6s;animation-delay:-2.1s}
@keyframes v3sway{from{transform:rotate(-2deg)}to{transform:rotate(2deg)}}
.v3-phase{transition:opacity .65s ease}
.v3-phase-in{opacity:0}
.v3-phase-out{opacity:0!important;pointer-events:none}
.v3-seat{cursor:pointer;outline:none}
.v3-seat-shape{stroke:#0f2a20;stroke-width:1.5;transition:stroke-width .15s ease,stroke .15s ease;filter:url(#v3soft)}
.v3-seat:hover .v3-seat-shape,.v3-seat:focus-visible .v3-seat-shape{stroke:#fff;stroke-width:3}
.v3-fruit-badge rect{fill:#0f2a20;stroke:#b99b50;stroke-width:1.2}
.v3-fruit-badge text{font:700 13px/1 'JetBrains Mono',monospace;letter-spacing:.08em;fill:#f7f4ec}
.v3-fruit-body{filter:url(#v3soft)}
.v3-branch-label{font:700 15px/1 Karla,system-ui,sans-serif;fill:#f7f4ec;paint-order:stroke;stroke:#1f5d4c;stroke-width:6px;stroke-linejoin:round}
.v3-branch-label[data-staffed="0"]{font-weight:500;fill:#a9c9b5}
.v3-root-label{font:600 13px/1 'JetBrains Mono',monospace;letter-spacing:.06em;fill:#d9c9b0;text-transform:uppercase;paint-order:stroke;stroke:#1a1410;stroke-width:4px;stroke-linejoin:round}
.v3-root-label[data-staffed="1"]{fill:#eac55b}
.v3-tip{position:absolute;z-index:2;width:220px;transform:translate(-50%,-100%);padding:9px 11px;border:1px solid #b99b50;border-radius:10px;background:#0f2a20f2;color:#f7f4ec;font:400 13px/1.35 Karla,system-ui,sans-serif;pointer-events:none;box-shadow:0 8px 24px #00000055}
.v3-tip strong{display:block;color:#eac55b;font-size:14px;margin-bottom:2px}
.v3-tip span{display:block}
.v3-tip em{display:block;margin-top:5px;font-style:normal;color:#84cf8c;font:600 12px/1.3 'JetBrains Mono',monospace}
.v3-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.vtp-tree-guide{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:12px 0 2px;padding-top:12px;border-top:1px solid #ffffff2e}
.vtp-tree-guide span{display:block;color:#f7f4ec;font:400 12px/1.3 Karla,system-ui,sans-serif}
.vtp-tree-guide b{display:block;color:#eac55b;font:700 11px/1.4 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase}
[data-team-calculator] .vtp-tree-card figcaption{padding-top:6px}
@media(max-width:600px){
 [data-team-calculator] .vtp-tree-card{padding:10px;overflow-x:hidden!important}
 .vtp-tree-visual{min-width:0!important}
 .v3-title{font-size:26px}
 .v3-quote{font-size:21px}
 .v3-badge text{font-size:16px}
 .v3-branch-label{font-size:20px;stroke-width:8px}
 .v3-root-label{font-size:16px}
 .v3-trunk-label{font-size:15px}
 .v3-ground-label{font-size:14px}
 .vtp-tree-guide{grid-template-columns:repeat(2,minmax(0,1fr))}
 .v3-fruit-badge text{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.v3-seat-shape,.v3-phase{transition:none}.v3-sway{animation:none}}
.v3-kpi{--tone:#6fcf8a}.v3-kpi[data-tone=yellow]{--tone:#f0a13a}.v3-kpi[data-tone=red]{--tone:#ef5b45}
.v3-kpi-link{fill:none;stroke:var(--tone);stroke-width:1.6;stroke-dasharray:3 4;opacity:.75;transition:stroke .3s}
.v3-kpi-end{fill:var(--tone);stroke:#1a1410;stroke-width:1.5;transition:fill .3s}
.v3-kpi-chip rect{fill:#0f2a20;stroke:var(--tone);stroke-width:2;transition:stroke .3s}
.v3-kpi-chip circle{fill:var(--tone);transition:fill .3s}
.v3-kpi-chip text{font:700 13px/1 'JetBrains Mono',monospace;letter-spacing:.06em;fill:#f7f4ec}
.v3-kpi[data-tone=red] .v3-kpi-chip rect,.v3-kpi[data-tone=red] .v3-kpi-end{animation:v3kpiPulse 1.6s ease-in-out infinite}
@keyframes v3kpiPulse{50%{stroke-opacity:.35;fill-opacity:.85}}
.v3-root-label[data-kpi=yellow]{fill:#f0a13a}.v3-root-label[data-kpi=red]{fill:#ef5b45}
.v3-fruit-badge[data-tone=yellow] rect{stroke:#f0a13a;stroke-width:2}.v3-fruit-badge[data-tone=red] rect{stroke:#ef5b45;stroke-width:2}
@media(prefers-reduced-motion:reduce){.v3-kpi *{animation:none!important;transition:none!important}}
@media(max-width:600px){.v3-kpi-chip text{font-size:15px}}

.vtp-rate-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:4px 24px;align-items:start}.vtp-annual{padding-left:24px;border-left:1px solid rgba(0,0,0,.12)}.vtp-annual .vtp-rate{font-size:clamp(28px,2.5vw,36px);margin:2px 0 2px;white-space:nowrap}.vtp-annual-math{color:var(--tp-mute);font-size:13px;margin-bottom:8px}@media(max-width:560px){.vtp-annual{padding-left:0;border-left:0;border-top:1px solid rgba(0,0,0,.12);padding-top:10px}}
