    /* The live profile stylesheet predates the corrected min() width expression. */
    .jf-profile-hub-page .jf-profile-hub { width: min(calc(100% - 40px), 1140px); }

    /* ---------- Componente ---------- */
    .jf-growth {
      --g-paper: #faf5ef;
      --g-sun: #f6e2cc;
      --g-bark: #5a4336;
      --g-bark-light: #7d604b;
      --g-foliage: #a7c39c;
      --g-foliage-shade: #5f8766;
      --g-foliage-light: #c6dab9;
      --g-bloom: #f8cfa6;
      --g-bloom-core: #d9773a;
      --g-pot: #334f4c;
      --g-pink: var(--jf-profile-pink, #c40064);
      --g-pink-deep: var(--jf-profile-pink-deep, #a90056);
      --g-clay: var(--jf-profile-clay, #eea460);
      --g-ink: var(--jf-profile-ink, #29242c);
      --g-muted: var(--jf-profile-muted, #6f6570);
      display: grid;
      grid-template-columns: minmax(0, 1.3fr) minmax(320px, .7fr);
      min-height: 640px;
    }

    .jf-growth__stage { position: relative; display: flex; flex-direction: column; min-width: 0; background: radial-gradient(120% 90% at 50% 30%, #fcf8f3 0%, var(--g-paper) 60%, #f6eee5 100%); border-right: 1px solid #efe4da; }
    .jf-growth__toolbar { position: relative; z-index: 20; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 22px 0; }
    .jf-growth__filter { display: inline-flex; padding: 3px; border: 1px solid #eadcd1; border-radius: 999px; background: #fff; }
    .jf-growth__filter button { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 4px 13px; border: 0; border-radius: 999px; background: transparent; color: var(--g-muted); font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
    .jf-growth__filter button[aria-pressed="true"] { background: var(--g-ink); color: #fff; }
    .jf-growth button:focus-visible, .jf-growth a:focus-visible { outline: 3px solid var(--g-pink); outline-offset: 2px; }
    .jf-growth__replay { display: inline-flex; align-items: center; gap: 7px; min-height: 34px; padding: 4px 4px 4px 10px; border: 0; background: transparent; color: var(--g-pink-deep); font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
    .jf-growth__replay svg { width: 15px; height: 15px; }
    .jf-growth__replay:hover { text-decoration: underline; }

    .jf-growth__help { position: relative; z-index: 12; flex: 0 0 auto; }
    .jf-growth__help-trigger { display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 1px solid #dfcbd3; border-radius: 50%; background: #fff; color: var(--g-pink-deep); font: 700 17px Georgia, serif; cursor: pointer; }
    .jf-growth__help-trigger:hover, .jf-growth__help-trigger[aria-expanded="true"] { border-color: var(--g-pink); background: #fff2f7; }
    .jf-growth__help-panel { box-sizing: border-box; position: absolute; top: calc(100% + 10px); right: 0; width: min(330px, calc(100vw - 32px)); padding: 17px 18px; border: 1px solid #eadcd1; border-radius: 10px; background: #fffdfb; box-shadow: 0 15px 38px rgba(62,39,52,.17); opacity: 0; visibility: hidden; transform: translateY(-5px); transition: opacity 140ms ease, transform 140ms ease, visibility 140ms ease; }
    .jf-growth__help:focus-within:not(.is-dismissed) .jf-growth__help-panel, .jf-growth__help.is-open .jf-growth__help-panel { opacity: 1; visibility: visible; transform: none; }
    @media (hover: hover) { .jf-growth__help:hover:not(.is-dismissed) .jf-growth__help-panel { opacity: 1; visibility: visible; transform: none; } }
    .jf-growth__help-panel > strong { display: block; margin-bottom: 10px; color: var(--g-ink); font-size: 14px; }
    .jf-growth__help-panel .jf-growth__legend { margin: 0; }

    .jf-growth__canvas { position: relative; min-height: 0; }
    /* su schermi larghi l'albero resta visibile mentre si scorre il pannello */
    .jf-growth__stick { position: sticky; top: 0; display: flex; flex-direction: column; }
    .jf-rhythm:has(> .jf-growth) { overflow: clip; } /* hidden bloccherebbe lo sticky; clip taglia gli angoli allo stesso modo */
    .jf-growth__svg { display: block; width: 100%; height: 100%; min-height: 420px; max-height: 600px; outline: none; touch-action: manipulation; }
    .jf-growth__svg:focus-visible { box-shadow: inset 0 0 0 3px color-mix(in srgb, var(--g-pink) 45%, transparent); border-radius: 6px; }
    .jf-growth__svg.is-pointing { cursor: pointer; }
    .jf-growth__zoomout { position: absolute; left: 22px; bottom: 10px; display: none; align-items: center; gap: 6px; min-height: 32px; padding: 4px 12px; border: 1px solid #eadcd1; border-radius: 999px; background: rgba(255,255,255,.92); color: var(--g-ink); font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
    .jf-growth.is-zoomed .jf-growth__zoomout { display: inline-flex; }

    .jf-growth__month { transition: opacity 240ms ease; }
    .jf-growth__svg.has-preview .jf-growth__month:not(.is-preview) { opacity: .45; }
    .jf-growth__svg.has-selection .jf-growth__month:not(.is-active) { opacity: .22; }
    .jf-growth.is-zoomed .jf-growth__svg.has-selection .jf-growth__month:not(.is-active) { opacity: .12; }
    .jf-growth.is-zoomed .jf-growth__trunk { opacity: .55; transition: opacity 240ms ease; }
    .jf-growth__svg.has-selection .jf-growth__month.is-preview:not(.is-active) { opacity: .5; }
    .jf-growth__svg.archive-active .jf-growth__base { filter: drop-shadow(0 0 6px rgba(196, 0, 100, .5)); }

    .jf-growth__branch { fill: var(--g-bark); }
    .jf-growth__twig { fill: none; stroke: var(--g-bark-light); stroke-width: 1.8; stroke-linecap: round; }
    .jf-growth__mass-shade { fill: var(--ms, var(--g-foliage-shade)); }
    .jf-growth__mass { fill: var(--mf, var(--g-foliage)); }
    .jf-growth__mass-light { fill: var(--ml, var(--g-foliage-light)); }
    .jf-growth__falls { pointer-events: none; }
    /* evidenziare una parola o un percorso */
    .jf-growth__leaves > g, .jf-growth__blooms > g { transition: opacity 200ms ease; }
    .jf-growth__svg.has-key .jf-growth__leaves > g:not(.is-key), .jf-growth__svg.has-key .jf-growth__blooms > g:not(.is-key) { opacity: .1; }
    .jf-growth__svg.has-key .jf-growth__foliage { opacity: .55; }
    .jf-growth__ring { pointer-events: none; }
    .jf-growth__fall { opacity: 0; transform-box: view-box; transform-origin: 0 0; transform: translate(var(--x), var(--y)); animation: jf-g-fall var(--dur) linear var(--delay) infinite; }
    .jf-growth[data-filter="classes"] .jf-growth__falls, .jf-growth.is-zoomed .jf-growth__falls { opacity: 0; }
    .jf-growth__leaves, .jf-growth__blooms, .jf-growth__foliage { transition: opacity 220ms ease; }
    .jf-growth[data-filter="classes"] .jf-growth__leaves { opacity: .12; }
    .jf-growth[data-filter="classes"] .jf-growth__foliage { opacity: .45; }
    .jf-growth[data-filter="checkins"] .jf-growth__blooms { opacity: .12; }

    .jf-growth__rings circle { fill: none; stroke: var(--g-pink); stroke-width: 2.2; pointer-events: none; vector-effect: non-scaling-stroke; }
    .jf-growth__rings circle.is-soft { stroke-width: 1.6; stroke-dasharray: 2 2; }
    .jf-growth__latest circle { fill: none; stroke: var(--g-pink); stroke-width: 1.6; vector-effect: non-scaling-stroke; }
    .jf-growth__latest .dot { fill: var(--g-pink); stroke: #fff; stroke-width: 1.2; }
    .jf-growth__latest .pulse { transform-box: fill-box; transform-origin: center; animation: jf-g-pulse 2.4s ease-out 3.4s 3; opacity: 0; }

    /* Crescita e vento */
    .jf-growth.is-growing .jf-growth__trunk { transform-box: view-box; transform-origin: 320px 480px; animation: jf-g-rise 1000ms cubic-bezier(.2,.7,.2,1) both; }
    .jf-growth.is-growing .jf-growth__month { transform-box: view-box; transform-origin: var(--ox) var(--oy); animation: jf-g-grow 700ms cubic-bezier(.2,.7,.2,1) var(--d) both; }
    .jf-growth.is-growing .jf-growth__pop { transform-box: fill-box; transform-origin: center; animation: jf-g-pop 360ms cubic-bezier(.3,1.5,.5,1) calc(var(--d) + 380ms + var(--j, 0ms)) both; }
    .jf-growth.is-growing .jf-growth__latest { animation: jf-g-fade 400ms ease var(--d) both; }
    /* il vento: il ramo oscilla attorno all'attacco sul tronco, ogni ciuffo attorno al proprio rametto */
    .jf-growth__sway { transform-box: view-box; transform-origin: var(--ox) var(--oy); animation: jf-g-sway var(--sd, 7s) ease-in-out var(--s, 0s) infinite alternate; }
    .jf-growth__cluster { transform-box: view-box; transform-origin: var(--cx) var(--cy); animation: jf-g-rustle var(--cd, 5s) ease-in-out var(--cs, 0s) infinite alternate; }
    .jf-growth__sun { transform-box: fill-box; transform-origin: center; animation: jf-g-breathe 12s ease-in-out infinite alternate; }
    .jf-growth.is-offscreen * { animation-play-state: paused !important; }
    @keyframes jf-g-rise { from { transform: scale(.6, .04); } to { transform: none; } }
    @keyframes jf-g-grow { from { transform: scale(.02); } to { transform: none; } }
    @keyframes jf-g-pop { from { transform: scale(0); } to { transform: none; } }
    @keyframes jf-g-fade { from { opacity: 0; } to { opacity: 1; } }
    @keyframes jf-g-sway { from { transform: rotate(-1.1deg); } to { transform: rotate(1.1deg); } }
    @keyframes jf-g-rustle { 0% { transform: rotate(-1.7deg); } 60% { transform: rotate(.9deg) translateY(-.4px); } 100% { transform: rotate(1.6deg); } }
    @keyframes jf-g-breathe { from { transform: scale(1); } to { transform: scale(1.03); } }
    @keyframes jf-g-fall {
      0% { opacity: 0; transform: translate(var(--x), var(--y)) rotate(0deg); }
      6% { opacity: .95; }
      30% { transform: translate(calc(var(--x) + var(--dx) * .25 + var(--wob)), calc(var(--y) + var(--dy) * .3)) rotate(140deg); }
      62% { transform: translate(calc(var(--x) + var(--dx) * .62 - var(--wob)), calc(var(--y) + var(--dy) * .64)) rotate(260deg); }
      90% { opacity: .85; }
      100% { opacity: 0; transform: translate(calc(var(--x) + var(--dx)), calc(var(--y) + var(--dy))) rotate(390deg); }
    }
    @keyframes jf-g-pulse { 0% { opacity: .9; transform: scale(1); } 100% { opacity: 0; transform: scale(2.6); } }
    @media (prefers-reduced-motion: reduce) {
      .jf-growth *, .jf-growth.is-growing * { animation: none !important; }
      .jf-growth__latest .pulse { display: none; }
    }

    /* Tooltip */
    .jf-growth__tip { position: absolute; z-index: 5; width: max-content; max-width: 260px; padding: 10px 13px 11px; border: 1px solid #eadcd1; border-radius: 8px; background: #fff; box-shadow: 0 12px 30px rgba(62, 39, 52, .16); color: var(--g-ink); pointer-events: none; opacity: 0; transform: translate(-50%, calc(-100% - 16px)) translateY(4px); transition: opacity 120ms ease, transform 120ms ease; }
    .jf-growth__tip.is-on { opacity: 1; transform: translate(-50%, calc(-100% - 16px)); }
    .jf-growth__tip.is-below.is-on { transform: translate(-50%, 18px); }
    .jf-growth__tip-kind { display: flex; align-items: center; gap: 6px; margin: 0 0 4px; color: var(--g-muted); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
    .jf-growth__tip-title { display: block; font-size: 14px; font-weight: 700; line-height: 1.3; }
    .jf-growth__tip-title.is-word { font-family: Georgia, "Times New Roman", serif; font-size: 19px; font-weight: 400; }
    .jf-growth__tip-meta { display: block; margin-top: 4px; color: var(--g-muted); font-size: 12px; line-height: 1.4; }
    .jf-growth__tip-new { display: inline-block; margin-left: 4px; padding: 1px 6px; border-radius: 999px; background: #fbe3ee; color: var(--g-pink-deep); font-size: 10px; letter-spacing: 0; text-transform: none; }
    .jf-growth__tip ul { margin: 6px 0 0; padding: 0; list-style: none; }
    .jf-growth__tip li { display: flex; align-items: center; gap: 7px; padding: 2px 0; font-size: 13px; line-height: 1.3; }
    .jf-growth__tip li.is-word { font-family: Georgia, serif; font-size: 14px; }

    .jf-icon { display: inline-block; flex: 0 0 auto; width: 10px; height: 10px; }
    .jf-icon--class { border-radius: 50%; background: radial-gradient(circle, var(--cc, var(--g-bloom-core)) 0 30%, var(--c, var(--g-bloom)) 34%); box-shadow: 0 0 0 1px color-mix(in srgb, var(--cc, #d9773a) 45%, transparent); }
    .jf-icon--checkin { width: 12px; height: 7px; border-radius: 100% 0; background: var(--c, #4f7a5f); transform: rotate(-25deg); }
    .jf-icon--month { width: 14px; height: 4px; border-radius: 3px; background: var(--g-bark); }
    .jf-icon--season { width: 12px; height: 12px; border-radius: 50%; background: conic-gradient(#b4d39d 0 25%, #9fc190 0 50%, #c0c692 0 75%, #a6c2b3 0); }
    .jf-icon--latest { border: 1.5px solid var(--g-pink); border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 2px #fff, inset 0 0 0 5px var(--g-pink); }

    /* Mesi */
    .jf-growth__chips-wrap { padding: 4px 22px 20px; }
    .jf-growth__chips-label { margin: 0 0 8px; color: var(--g-muted); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
    .jf-growth__chips { display: flex; gap: 6px; overflow-x: auto; padding: 2px 2px 6px; scrollbar-width: thin; }
    .jf-growth__chips button { flex: 0 0 auto; display: grid; gap: 3px; min-width: 62px; padding: 7px 10px 8px; border: 1px solid #eadcd1; border-radius: 8px; background: #fff; color: var(--g-ink); font: inherit; text-align: left; cursor: pointer; transition: border-color 150ms ease, background 150ms ease; }
    .jf-growth__chips button:hover { border-color: #d8b8c7; }
    .jf-growth__chips button[aria-pressed="true"] { border-color: var(--g-pink); background: #fff5f9; box-shadow: inset 0 0 0 1px var(--g-pink); }
    .jf-growth__chips b { font-size: 13px; text-transform: capitalize; }
    .jf-growth__chips b small { margin-left: 3px; color: var(--g-muted); font-size: 10px; font-weight: 600; }
    .jf-growth__chips span { display: flex; align-items: center; gap: 4px; color: var(--g-muted); font-size: 11px; font-variant-numeric: tabular-nums; }
    .jf-growth__chips span i + i, .jf-growth__chips span .jf-icon--checkin { margin-left: 4px; }

    /* Pannello */
    .jf-growth__panel { display: flex; flex-direction: column; min-width: 0; padding: 34px 32px 26px; background: #fffdfb; }
    .jf-growth__eyebrow { margin: 0 0 10px; color: var(--g-pink-deep); font-size: 12px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
    .jf-growth__panel h3 { margin: 0 0 12px; color: var(--g-ink); font-family: Georgia, "Times New Roman", serif; font-size: clamp(28px, 3vw, 36px); font-weight: 400; line-height: 1.1; }
    .jf-growth__intro { margin: 0; color: #4d454e; font-size: 14px; line-height: 1.6; }
    .jf-growth__back { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; margin: -8px 0 16px -8px; padding: 6px 8px; border: 0; border-radius: 6px; background: transparent; color: var(--g-pink-deep); font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
    .jf-growth__back:hover { background: #fbeef3; }
    .jf-growth__counts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 22px 0 0; padding: 16px 0; border-top: 1px solid #efe4da; border-bottom: 1px solid #efe4da; }
    .jf-growth__counts div { display: flex; flex-direction: column-reverse; justify-content: flex-end; }
    .jf-growth__counts div + div { padding-left: 14px; border-left: 1px solid #efe4da; }
    .jf-growth__counts dd { margin: 0; color: #254f42; font-family: Georgia, serif; font-size: 34px; line-height: 1; font-variant-numeric: tabular-nums; }
    .jf-growth__counts dt { margin-top: 6px; color: #49413d; font-size: 11px; font-weight: 700; line-height: 1.3; }
    .jf-growth__legend { display: grid; gap: 7px; margin: 18px 0 0; padding: 0; list-style: none; color: #4d454e; font-size: 12px; line-height: 1.4; }
    .jf-growth__legend li { display: flex; align-items: center; gap: 9px; }
    .jf-growth__legend .jf-icon { width: 11px; }
    .jf-growth__legend .jf-icon--checkin { width: 12px; }
    .jf-growth__legend .jf-icon--month { width: 14px; }
    .jf-growth__h4 { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 22px 0 4px; color: var(--g-muted); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
    .jf-growth__h4 button { padding: 2px 4px; border: 0; background: none; color: var(--g-pink-deep); font: inherit; font-size: 11px; letter-spacing: 0; text-transform: none; cursor: pointer; }
    .jf-growth__keys { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 0; padding: 0; list-style: none; }
    .jf-growth__keys li[hidden] { display: none; }
    .jf-growth__keys button { display: inline-flex; align-items: center; gap: 7px; min-height: 32px; padding: 4px 10px 4px 9px; border: 1px solid #eadcd1; border-radius: 999px; background: #fff; color: var(--g-ink); font: inherit; font-size: 12px; cursor: pointer; transition: border-color 150ms ease, background 150ms ease; }
    .jf-growth__keys button.is-word span { font-family: Georgia, "Times New Roman", serif; font-size: 14px; }
    .jf-growth__keys button b { color: var(--g-muted); font-size: 11px; font-variant-numeric: tabular-nums; }
    .jf-growth__keys button:hover { border-color: #d8b8c7; }
    .jf-growth__keys button[aria-pressed="true"] { border-color: var(--g-pink); background: #fff5f9; box-shadow: inset 0 0 0 1px var(--g-pink); }
    .jf-growth__summary { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 0; color: var(--g-muted); font-size: 13px; }
    .jf-growth__summary span { display: inline-flex; align-items: center; gap: 6px; }

    /* Calendario del mese */
    .jf-growth__cal { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 3px; margin: 16px 0 0; }
    .jf-growth__cal-head { padding: 0 0 3px; color: #9a8f96; font-size: 10px; font-weight: 800; text-align: center; }
    .jf-growth__cal button, .jf-growth__cal .is-blank { position: relative; display: grid; grid-template-rows: auto 1fr; justify-items: center; gap: 2px; min-width: 0; height: 42px; padding: 4px 0 3px; border: 1px solid transparent; border-radius: 6px; background: #faf5f0; color: #9a8f96; font: inherit; font-size: 11px; font-variant-numeric: tabular-nums; }
    .jf-growth__cal .is-blank { background: transparent; }
    .jf-growth__cal button { cursor: pointer; }
    .jf-growth__cal button:disabled { cursor: default; opacity: .7; }
    .jf-growth__cal button.has-any { background: #fff; border-color: #efe2d8; color: var(--g-ink); font-weight: 700; }
    .jf-growth__cal button.has-any:hover, .jf-growth__cal button.is-hot { border-color: var(--g-pink); }
    .jf-growth__cal button[aria-pressed="true"] { border-color: var(--g-pink); background: #fff2f7; box-shadow: inset 0 0 0 1px var(--g-pink); }
    .jf-growth__cal-marks { display: flex; align-items: center; gap: 3px; font-size: 9px; font-weight: 700; color: var(--g-muted); }
    .jf-growth__cal-marks .jf-icon { width: 8px; height: 8px; }
    .jf-growth__cal-marks .jf-icon--checkin { width: 9px; height: 5px; }

    .jf-growth__list { margin: 6px 0 0; padding: 0; list-style: none; }
    .jf-growth__list.is-scroll { max-height: 280px; overflow-y: auto; margin-right: -10px; padding-right: 10px; scrollbar-width: thin; }
    .jf-growth__row { display: flex; align-items: center; gap: 6px; border-top: 1px solid #f1e8e0; transition: background 120ms ease; }
    .jf-growth__row:first-child { border-top: 0; }
    .jf-growth__row.is-hot { background: #fff4f8; box-shadow: inset 3px 0 0 var(--g-pink); }
    .jf-growth__row-main { display: flex; flex: 1; align-items: center; gap: 11px; min-width: 0; min-height: 46px; padding: 7px 6px 7px 8px; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
    .jf-growth__row-text { flex: 1; min-width: 0; }
    .jf-growth__row-text strong { display: block; overflow: hidden; color: var(--g-ink); font-size: 13px; font-weight: 700; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
    .jf-growth__row.is-checkin .jf-growth__row-text strong { font-family: Georgia, serif; font-size: 15px; font-weight: 400; }
    .jf-growth__row-text small { display: block; margin-top: 1px; color: var(--g-muted); font-size: 11px; }
    .jf-growth__row time { color: #81766e; font-size: 11px; white-space: nowrap; font-variant-numeric: tabular-nums; }
    .jf-growth__row-link { flex: 0 0 auto; margin-right: 4px; padding: 5px 8px; border-radius: 6px; color: var(--g-pink-deep); font-size: 11px; font-weight: 800; text-decoration: none; }
    .jf-growth__row-link:hover { background: #fbeef3; }
    .jf-growth__empty { margin: 18px 0 0; padding: 14px 16px; border-left: 3px solid var(--g-clay); background: #fff7f0; color: #4d454e; font-size: 13px; line-height: 1.55; }
    .jf-growth__note { margin: auto 0 0; padding-top: 18px; color: #8b8079; font-size: 11px; line-height: 1.5; }
    .jf-growth__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

    @media (max-width: 880px) {
      .jf-growth { grid-template-columns: 1fr; }
      .jf-growth__stage { border-right: 0; border-bottom: 1px solid #efe4da; }
      .jf-growth__stick { position: static; }
      .jf-growth__svg { min-height: 0; height: auto; aspect-ratio: 640 / 560; }
      .jf-growth__panel { padding: 26px 18px 24px; }
      .jf-growth__toolbar { padding: 14px 14px 0; }
      .jf-growth__chips-wrap { padding: 0 14px 14px; }
      .jf-growth__zoomout { left: 14px; }
      .jf-growth__replay span { display: none; }
      .jf-growth__list.is-scroll { max-height: none; }
    }
    @media (max-width: 720px) {
      .jf-profile-hub-page .jf-profile-hub { width: min(calc(100% - 28px), 1140px); }
    }
