/* Dodeka · riport (világos téma) + a scan-limit kártya.
   Külön fájl: a riport kinézete innen módosítható, a főoldalt (site.css) nem érinti. */

.rp {
  --rp-ink: #111; --rp-mut: #6c6a63; --rp-sub: #9a978d; --rp-line: #E4E1D8; --rp-soft: #F4F2EC;
  --rp-ok: #2E7D52; --rp-ok-bg: #E6F0EA; --rp-warn: #85680a; --rp-warn-bg: #F6EED3; --rp-bad: #A8414F; --rp-bad-bg: #F4E3E5;
  max-width: 920px; margin: 40px auto 0; color: var(--rp-ink);
}
.rp h3, .rp h4, .rp p, .rp ul { margin: 0; }
.rp ul { padding: 0; list-style: none; }
.rp b { font-weight: 700; }
.rp-mut { color: var(--rp-mut); }
.rp-sm { font-size: 13.5px; }
.rp-xs { font-size: 12px; }
.rp-between { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 16px; }
.rp-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.rp-eyebrow { font-family: var(--mono); font-size: 10.5px; letter-spacing: .1em; color: var(--rp-mut); font-weight: 500; }

/* fejléc */
.rp-head { padding: 0 2px 2px; }
.rp-title { margin-top: 8px !important; font-size: clamp(1.5rem, 4.4vw, 2.15rem); line-height: 1.12; letter-spacing: -.03em; font-weight: 800; }

/* menü: ikonos csempék, tintás aktív állapot */
.rp-navwrap { position: sticky; top: var(--nav-h); z-index: 6; margin: 14px -20px 10px; padding: 8px 20px 10px; background: linear-gradient(to bottom, var(--paper) 84%, rgba(243,243,243,0)); }
.rp-nav { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; padding: 5px; background: #fff; border: 1px solid var(--rp-line); border-radius: 16px; box-shadow: 0 8px 20px -14px rgba(0,0,0,.35); }
.rp-tab { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; padding: 9px 2px 8px; border: 0; background: transparent; color: var(--rp-mut); border-radius: 12px; font-size: 11px; font-weight: 700; letter-spacing: -.01em; transition: background .15s, color .15s; min-width: 0; }
.rp-tab span { white-space: nowrap; }
.rp-tab:hover { background: var(--rp-soft); color: var(--rp-ink); }
.rp-tab.on { background: var(--rp-ink); color: #fff; }
.rp-tab:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.rp-ico { width: 20px; height: 20px; flex: none; }

.rp-panel { display: grid; gap: 12px; scroll-margin-top: calc(var(--nav-h) + 86px); }
.rp-panel > * { min-width: 0; }

/* kártya + közös elemek */
.rp-card { background: #fff; border: 1px solid var(--rp-line); border-radius: 16px; padding: 18px; }
.rp-h { font-size: 1.02rem; font-weight: 800; letter-spacing: -.02em; }
.rp-h-lg { font-size: 1.3rem; letter-spacing: -.025em; }
.rp-pill { display: inline-flex; align-items: center; border-radius: 999px; padding: 3px 10px; font-size: 11.5px; font-weight: 700; background: var(--rp-soft); color: #4a4841; white-space: nowrap; }
.rp-pill.ok { background: var(--rp-ok-bg); color: var(--rp-ok); }
.rp-pill.warn { background: var(--rp-warn-bg); color: var(--rp-warn); }
.rp-pill.bad { background: var(--rp-bad-bg); color: var(--rp-bad); }
.rp-track { position: relative; height: 7px; border-radius: 99px; background: #ECE9E1; overflow: hidden; }
.rp-track i { display: block; height: 100%; border-radius: 99px; }
.rp-lead { margin-top: 10px !important; font-size: 1.1rem; font-weight: 600; letter-spacing: -.01em; line-height: 1.5; }
.rp-btn { border: 0; background: var(--rp-ink); color: #fff; border-radius: 10px; padding: 9px 16px; font-size: 13px; font-weight: 700; transition: transform .15s, box-shadow .15s; }
.rp-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 14px rgba(0,0,0,.15); }
.rp-btn.gold { background: rgba(201,162,39,.13); color: var(--gold-ink); border: 1px solid var(--gold); }
.rp-btn.gold:hover { background: rgba(201,162,39,.24); box-shadow: none; }
.rp-btn.ghost { background: transparent; color: var(--rp-mut); border: 1px solid var(--rp-line); }
.rp-btn.ghost:hover { background: var(--rp-soft); box-shadow: none; }
.rp-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.rp-foot { margin: 16px 4px 0 !important; font-size: 12px; color: var(--rp-mut); line-height: 1.55; }
.rp-sech { padding: 10px 4px 0; }
.rp-sech h4 { font-size: 1.15rem; letter-spacing: -.02em; font-weight: 800; }
.rp-sech p { margin-top: 4px !important; font-size: 13px; }
.rp-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 6px; }

/* összkép */
.rp-big { margin-top: 4px !important; line-height: 1; display: flex; align-items: baseline; gap: 2px; }
.rp-big .mono { font-size: clamp(3rem, 12vw, 4.2rem); font-weight: 700; letter-spacing: -.05em; }
.rp-big small { font-size: 1.6rem; color: var(--rp-mut); font-weight: 600; }
.rp-scale { position: relative; height: 10px; border-radius: 99px; margin-top: 24px; background: #E4E1D8; }
.rp-rng-box { position: absolute; top: -5px; bottom: -5px; border: 2px solid var(--rp-ink); border-radius: 8px; background: rgba(255,255,255,.28); }
.rp-knob { position: absolute; top: 50%; width: 16px; height: 16px; margin: -8px 0 0 -8px; border-radius: 50%; background: var(--rp-ink); border: 3px solid #fff; box-shadow: 0 0 0 1.5px var(--rp-ink); }
.rp-scale-l { display: flex; justify-content: space-between; gap: 6px; margin-top: 12px; font-size: 10px; letter-spacing: .08em; color: var(--rp-sub); }
.rp-scores { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.rp-score { padding: 14px 12px; }
.rp-score small { display: block; font-family: var(--mono); font-size: 9.5px; letter-spacing: .08em; color: var(--rp-mut); }
.rp-score b { display: block; margin: 6px 0 10px; font-size: 1.7rem; letter-spacing: -.04em; line-height: 1; }
.rp-score b i { font-style: normal; font-size: .75rem; color: var(--rp-mut); font-weight: 500; margin-left: 1px; }
.rp-checks li { display: flex; gap: 12px; padding: 12px 0; border-top: 1px solid var(--rp-line); }
.rp-checks li:first-child { margin-top: 6px; }
.rp-checks svg { flex: none; color: var(--rp-ok); margin-top: 2px; }
.rp-checks div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rp-checks b { font-size: 14.5px; }
.rp-checks span { font-size: 13.5px; }
.rp-fs { font-size: 1.4rem; font-weight: 700; letter-spacing: -.03em; }
.rp-fs small { font-size: .8rem; color: var(--rp-mut); font-weight: 500; }

/* 12-szög (Dodeka) */
.rp-host { width: 100%; margin-top: 10px; min-height: 0; }
.rp-host svg { display: block; margin: 0 auto; max-width: 100%; height: auto; overflow: visible; }
.rp .radar-host .wedge { fill: transparent; cursor: pointer; }
.rp .radar-host .wedge:hover { fill: rgba(17,17,17,.04); }
.rp-host-mini { max-width: 520px; margin-left: auto; margin-right: auto; }
.rp-dhero .rp-host { max-width: 620px; margin-left: auto; margin-right: auto; }
.rp-legend { display: flex; gap: 16px; flex-wrap: wrap; font-size: 12.5px; color: var(--rp-mut); }
.rp-legend span { display: inline-flex; align-items: center; }
.rp-legend i { display: inline-block; width: 24px; height: 0; border-top: 2.5px solid var(--rp-ink); margin-right: 8px; }
.rp-legend i.dash { border-top: 2.5px dashed var(--gold); }
.rp-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-top: 14px; }
.rp-stats > div { background: var(--rp-soft); border-radius: 12px; padding: 10px 12px; min-width: 0; }
.rp-stats small { display: block; font-family: var(--mono); font-size: 9.5px; letter-spacing: .09em; color: var(--rp-mut); font-weight: 400; }
.rp-stats b { display: block; margin-top: 3px; font-size: 1.05rem; letter-spacing: -.02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rp-stats b small { display: inline; font-size: .72rem; letter-spacing: 0; color: var(--gold-ink); font-family: var(--mono); }
.rp-stats b small.mut { color: var(--rp-mut); }
.rp-fnum { display: flex; align-items: baseline; gap: 6px 14px; flex-wrap: wrap; margin-top: 14px; }
.rp-fbig { font-size: 2.4rem; font-weight: 700; line-height: 1; letter-spacing: -.04em; }
.rp-fl { margin-top: 12px !important; font-size: 14.5px; }
.rp-meter { position: relative; height: 10px; background: #ECE9E1; border-radius: 99px; margin-top: 14px; }
.rp-meter i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 99px; }
.rp-meter em { position: absolute; top: -5px; width: 4px; height: 20px; margin-left: -2px; border-radius: 2px; background: var(--gold); }
.rp-ticks { display: flex; justify-content: space-between; margin-top: 6px; }
.rp-grows { margin-top: 10px; }
.rp-grow { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; align-items: center; padding: 12px 8px; border-top: 1px solid var(--rp-line); }
.rp-grow.on { background: #FAF8F1; box-shadow: inset 3px 0 0 var(--rp-ink); }
.rp-gname { border: 0; background: transparent; color: var(--rp-ink); font-weight: 700; font-size: 14.5px; text-align: left; padding: 0; }
.rp-gvals { font-size: 13px; white-space: nowrap; text-align: right; color: var(--rp-mut); }
.rp-gvals b { color: var(--rp-ink); font-weight: 600; }
.rp-gvals em { color: var(--gold-ink); font-style: normal; font-weight: 700; }
.rp-gvals small { margin-left: 7px; color: var(--gold-ink); font-size: 11.5px; }
.rp-gctl { grid-column: 1 / -1; display: flex; align-items: center; gap: 12px; min-height: 24px; }
.rp-gctl .rp-track { flex: 1; }
.rp-add { flex: none; border: 1px dashed var(--gold); background: transparent; color: var(--gold-ink); border-radius: 999px; padding: 4px 12px; font-size: 12px; font-weight: 700; }
.rp-add:hover:not(:disabled) { background: rgba(201,162,39,.14); }
.rp-add:disabled { border-color: #cfccc2; color: #a9a69b; }
.rp-x { flex: none; width: 26px; height: 26px; border-radius: 50%; border: 1px solid #d5d2c8; background: transparent; color: var(--rp-mut); font-size: 16px; line-height: 1; padding: 0; }
.rp-x:hover { background: var(--rp-soft); color: var(--rp-ink); }
.rp-rng { -webkit-appearance: none; appearance: none; flex: 1; min-width: 0; height: 24px; margin: 0; background: transparent; }
.rp-rng:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; border-radius: 8px; }
.rp-rng::-webkit-slider-runnable-track { height: 8px; border-radius: 99px; background: linear-gradient(90deg, var(--c) 0, var(--c) calc(9px + (100% - 18px) * var(--f)), #E3E0D6 calc(9px + (100% - 18px) * var(--f)), #E3E0D6 100%); }
.rp-rng::-webkit-slider-thumb { -webkit-appearance: none; width: 18px; height: 18px; margin-top: -5px; border-radius: 50%; background: var(--gold); border: 3px solid #fff; box-shadow: 0 0 0 1.5px var(--gold); }
.rp-rng::-moz-range-track { height: 8px; border-radius: 99px; background: linear-gradient(90deg, var(--c) 0, var(--c) calc(9px + (100% - 18px) * var(--f)), #E3E0D6 calc(9px + (100% - 18px) * var(--f)), #E3E0D6 100%); }
.rp-rng::-moz-range-thumb { width: 12px; height: 12px; border-radius: 50%; background: var(--gold); border: 3px solid #fff; box-shadow: 0 0 0 1.5px var(--gold); }
.rp-rng:disabled { opacity: .5; }

/* test */
.rp-2col { display: grid; gap: 12px; }
.rp-inner { gap: 18px; margin-top: 14px; }
.rp-rows { margin-top: 4px; }
.rp-brow > div:first-child { display: flex; justify-content: space-between; font-size: 14px; margin: 12px 0 6px; }
.rp-comp { height: 12px; border-radius: 99px; background: #C9A227; overflow: hidden; margin-top: 14px; }
.rp-comp i { display: block; height: 100%; background: var(--rp-ink); }
.rp-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 16px; }
.rp-tiles > div { background: var(--rp-soft); border-radius: 12px; padding: 12px; display: flex; flex-direction: column; gap: 4px; align-items: flex-start; min-width: 0; }
.rp-tiles small { font-family: var(--mono); font-size: 9.5px; letter-spacing: .09em; color: var(--rp-mut); display: inline-flex; align-items: center; gap: 4px; }
.rp-tiles b { font-size: 1.3rem; letter-spacing: -.03em; line-height: 1.1; }
/* Tappable "mit jelent ez?" infó-gomb a mutatók mellett (BMI, FFMI, BMR, testzsír stb.) — koppintásra rövid magyarázat nyílik (rpOpenInfo). */
.rp-info { flex: none; width: 16px; height: 16px; border-radius: 50%; border: 1px solid var(--rp-sub); background: transparent; color: var(--rp-mut); font: 600 10px/1 var(--mono); display: inline-flex; align-items: center; justify-content: center; padding: 0; cursor: pointer; vertical-align: -3px; margin-left: 3px; }
.rp-info:hover, .rp-info:focus-visible { background: var(--rp-ink); border-color: var(--rp-ink); color: #fff; }
.rp-info-body p { font-size: 14.5px; line-height: 1.55; color: #4a4841; margin: 10px 0 0; }
.rp-info-body p:first-of-type { margin-top: 14px; }
.rp-gauge2 { position: relative; height: 8px; border-radius: 99px; background: #ECE9E1; margin-top: 12px; }
.rp-gauge2 i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 99px; background: var(--rp-ink); }
.rp-gauge2 em { position: absolute; top: -4px; bottom: -4px; width: 3px; margin-left: -1px; border-radius: 2px; background: var(--gold); }
.rp-tips { padding-left: 18px !important; list-style: disc !important; font-size: 13.5px; color: #4a4841; }
.rp-tips li { margin: 5px 0; }

/* Aranymetszés kártya — a váll:derék arány kiemelt, arany hangsúlyú bemutatása (rpBody). */
.rp-golden { border-color: var(--gold); background: linear-gradient(180deg, #FFFDF5, #fff 65%); }
.rp-eyebrow-gold { color: var(--gold-ink); font-weight: 700; }
.rp-pill-gold { background: rgba(201,162,39,.16); color: var(--gold-ink); border: 1px solid rgba(201,162,39,.4); }
.rp-phi-row { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.rp-phi-big { font-size: 1.7rem; font-weight: 800; letter-spacing: -.02em; color: var(--rp-ink); }
.rp-gauge-gold { background: rgba(201,162,39,.16); }
.rp-gauge-gold i { background: var(--gold); }

/* terv */
.rp-exl { margin-top: 12px !important; }
.rp-exl li { padding: 11px 0; border-top: 1px solid var(--rp-line); font-size: 14px; }
.rp-exl li .rp-between { align-items: baseline; gap: 12px; }
.rp-exl li .rp-between > div { display: flex; flex-direction: column; min-width: 0; }
.rp-exl li .rp-between > div span { font-size: 12.5px; }
.rp-exl li .rp-between > b { flex: none; font-size: 12.5px; }
/* egyes gyakorlatok pihenő / RIR / tempó adatai (opcionálisak — régebbi, mentett riportokban hiányozhatnak) */
.rp-extags { display: flex; gap: 8px; margin-top: 8px; flex-wrap: wrap; }
.rp-extags span { background: var(--rp-soft); border-radius: 8px; padding: 6px 10px; display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 64px; }
.rp-extags b { font-size: 13px; }
.rp-extags small { font-family: var(--mono); font-size: 9px; letter-spacing: .07em; color: var(--rp-mut); }
.rp-cal { margin-top: 10px !important; display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.rp-cal .mono { font-size: clamp(1.7rem, 6vw, 2.3rem); font-weight: 700; letter-spacing: -.04em; }
.rp-cal small { color: var(--rp-mut); font-size: 13px; }

/* lenyíló kártyák (tartás régiók, fókuszterületek, tudnivalók) */
.rp-regs { display: grid; gap: 10px; }
.rp-card.rp-reg, .rp-card.rp-more { padding: 0; overflow: hidden; }
.rp-reg.t1[open] { border-color: rgba(217,130,11,.5); }
.rp-reg.t2[open] { border-color: rgba(194,65,95,.5); }
.rp-reg > summary, .rp-more > summary { list-style: none; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding: 16px 18px; cursor: pointer; }
.rp-reg > summary::-webkit-details-marker, .rp-more > summary::-webkit-details-marker { display: none; }
.rp-reg > summary:focus-visible, .rp-more > summary:focus-visible { outline: 2px solid var(--rp-ink); outline-offset: -2px; border-radius: 16px; }
.rp-more > summary { flex-wrap: nowrap; }
.rp-sum-l b { display: block; font-size: 1.02rem; letter-spacing: -.01em; }
.rp-sum-l small { display: block; margin-top: 2px; font-size: 10px; letter-spacing: .09em; color: var(--rp-mut); }
.rp-sum-r { display: inline-flex; align-items: center; gap: 12px; }
.rp-sum-r > b { font-size: 1.05rem; }
.rp-chev { transition: transform .2s; color: var(--rp-mut); flex: none; }
details[open] > summary .rp-chev { transform: rotate(180deg); }
.rp-rbody { padding: 0 18px 20px; border-top: 1px solid var(--rp-line); }

/* tartás */
.rp-pbig { display: flex; align-items: baseline; gap: 10px; margin-top: 8px !important; }
.rp-pbig .mono { font-size: 2.8rem; font-weight: 700; letter-spacing: -.04em; line-height: 1; }
.rp-pbig small { font-size: 1.05rem; color: var(--rp-mut); letter-spacing: 0; font-weight: 400; }
.rp-headline { margin-top: 10px !important; font-size: 15px; font-weight: 700; letter-spacing: -.01em; }
.rp-plist { margin-top: 14px !important; }
.rp-plist li { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 12px; padding: 11px 0; border-top: 1px solid var(--rp-line); font-size: 14px; font-weight: 700; cursor: pointer; }
.rp-plist li:hover span:first-child { text-decoration: underline; text-underline-offset: 3px; }
.rp-gauge { display: inline-flex; gap: 3px; }
.rp-gauge i { display: block; width: 16px; height: 6px; border-radius: 3px; background: #E3E0D6; }
.rp-gauge i.on.t0 { background: #2E7D52; } .rp-gauge i.on.t1 { background: #C9A227; } .rp-gauge i.on.t2 { background: #A8414F; }
.rp-conf { margin-top: 16px; padding: 12px 14px; background: var(--rp-soft); border-radius: 12px; }
.rp-conf .mono { display: flex; justify-content: space-between; font-size: 10.5px; letter-spacing: .08em; color: var(--rp-mut); }
.rp-conf .mono b { color: var(--rp-ink); }
.rp-conf p { margin-top: 10px !important; font-size: 12.5px; }
.rp-note { margin-top: 16px !important; padding: 12px 14px; border-left: 3px solid var(--rp-ink); background: var(--rp-soft); border-radius: 0 10px 10px 0; font-size: 14px; }
.rp-note .mono { display: block; margin-top: 6px; font-size: 9.5px; letter-spacing: .1em; color: var(--rp-mut); }
.rp-lbl { margin: 18px 0 8px !important; font-family: var(--mono); font-size: 10px; letter-spacing: .1em; color: var(--rp-mut); }
.rp-p { font-size: 14px; line-height: 1.6; color: #34322d; }
.rp-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.rp-chips li { background: var(--rp-soft); border-radius: 8px; padding: 6px 10px; font-size: 12.5px; color: #4a4841; }
.rp-self { margin-top: 16px; padding: 12px 14px; border: 1px dashed #cfccc2; border-radius: 12px; }
.rp-two, .rp-cols { display: grid; gap: 4px 24px; }
.rp-ex li { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 9px 0; border-top: 1px solid var(--rp-line); font-size: 13.5px; }
.rp-ex li:first-child { border-top: 0; }
.rp-ex b { flex: none; font-size: 11.5px; font-weight: 500; text-align: right; }
.rp-see { margin-top: 16px !important; font-size: 12.5px; color: var(--rp-mut); }
.rp-see b { color: var(--rp-ink); }
.rp-pat { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--rp-line); }
.rp-pat > b { font-size: 14.5px; }
.rp-pat .rp-p { margin-top: 6px; }
.rp-pat .rp-tips { margin-top: 8px; }
.rp-more .rp-cols { padding: 0 18px 18px; }
.rp-warn { border-color: rgba(217,130,11,.4); background: #FFFAF0; }

/* scan-limit kártya (a scan gomb alatt) */
.limit-card { margin-top: 20px; border: 1.5px solid var(--ink); border-radius: 14px; padding: 20px; background: #fff; }
.limit-card h4 { margin: 0; font-size: 1.1rem; letter-spacing: -.02em; }
.limit-card p { margin: 8px 0 0; font-size: 14.5px; }
.limit-card .btn { margin-top: 16px; }
.limit-card .limit-sub { margin-top: 10px; font-size: 12.5px; }

/* Fiókom: fejlődés-nézet (a riport 12-szögével azonos stílus) */
.rp.acc-rp { margin: 16px 0 0; max-width: none; display: grid; gap: 16px; }
.acc-rp .rp-card { border-radius: 12px; border-color: var(--line); padding: 24px; }
.rp-legend i.cmp { border-top: 2.5px dotted #8d897c; }
.ap-lab { margin: 16px 0 8px !important; font-family: var(--mono); letter-spacing: .1em; }
.ap-chips { display: flex; gap: 8px; overflow-x: auto; padding: 2px 2px 8px; margin: 0 -2px; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
.ap-chip { flex: none; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; border: 1px solid var(--rp-line); background: #fff; border-radius: 12px; padding: 8px 14px; text-align: left; scroll-snap-align: center; transition: background .15s, border-color .15s, transform .15s; }
.ap-chip:hover { border-color: var(--rp-ink); transform: translateY(-1px); }
.ap-chip .ap-cd { font-size: 13px; font-weight: 700; color: var(--rp-ink); white-space: nowrap; }
.ap-chip .ap-cn { font-size: 11px; color: var(--rp-mut); white-space: nowrap; }
.ap-chip.on { background: var(--rp-ink); border-color: var(--rp-ink); }
.ap-chip.on .ap-cd { color: #fff; }
.ap-chip.on .ap-cn { color: rgba(255,255,255,.72); }
.ap-chip:focus-visible, .ap-row:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.ap-cmp { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 6px; }
.ap-cmp select { width: auto; min-width: 210px; max-width: 100%; height: 40px; font-size: 14px; }
.ap-first { margin: 10px 0 0 !important; }
.ap-rows { margin-top: 8px; }
.ap-row { display: grid; grid-template-columns: minmax(78px, .9fr) minmax(0, 1.6fr) auto; gap: 12px; align-items: center; padding: 10px 6px; border-top: 1px solid var(--rp-line); cursor: pointer; transition: background .15s; }
.ap-row:first-child { border-top: 0; }
.ap-row:hover, .ap-row.on { background: var(--rp-soft); }
.ap-name { font-size: 13.5px; font-weight: 600; }
.ap-track { overflow: visible; }
.ap-track em { position: absolute; top: -4px; width: 3px; height: 15px; margin-left: -1.5px; border-radius: 2px; background: #8d897c; }
.ap-val { display: flex; align-items: baseline; justify-content: flex-end; gap: 6px; min-width: 76px; }
.ap-val b { font-size: 1rem; letter-spacing: -.02em; }
.ap-d { font-family: var(--mono); font-size: 11.5px; font-weight: 700; }
.ap-d.up, .rp-stats b small.ap-d.up { color: var(--rp-ok); }
.ap-d.dn, .rp-stats b small.ap-d.dn { color: var(--rp-bad); }
.ap-d.z, .rp-stats b small.ap-d.z { color: var(--rp-mut); }
.ap-key { display: inline-flex; align-items: center; gap: 6px; }
.ap-key em { display: inline-block; width: 3px; height: 13px; border-radius: 2px; background: #8d897c; }
@media (max-width: 420px) { .ap-row { gap: 10px; grid-template-columns: minmax(70px, .9fr) minmax(0, 1.3fr) auto; } .ap-val { min-width: 68px; } }
/* csúcsértékek (Fiókom · fejlődésed) */
.ap-recs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ap-rec { display: flex; flex-direction: column; gap: 3px; padding: 14px; }
.ap-rec b { font-size: 1.4rem; letter-spacing: -.03em; }
.ap-rec small { font-family: var(--mono); font-size: 10px; letter-spacing: .07em; color: var(--rp-mut); }

/* ingyenes riport: zárolt fülek + feloldó kártya */
.rp-blur { filter: blur(7px); opacity: .88; user-select: none; pointer-events: none; }
.rp-lockbody { display: grid; gap: 12px; min-width: 0; }
.rp-lockbody > * { min-width: 0; }
.rp-tab { position: relative; }
.rp-tab .rp-tl { position: absolute; top: 4px; right: 6px; display: inline-flex; color: var(--rp-sub); }
.rp-tab .rp-tl svg { width: 12px; height: 12px; }
.rp-tab.on .rp-tl { color: rgba(255,255,255,.75); }
.rp-unlock, .rp-teaser { border-color: var(--gold); background: linear-gradient(180deg, #FFFDF5, #fff 60%); }
.rp-trainer { border-color: #E4DCC0; background: linear-gradient(180deg, #FBF6E6, #fff 60%); }
.rp-trainer .rp-ul-ico { background: rgba(201,162,39,.16); color: #85680a; }
.rp-ul-top { display: flex; gap: 12px; align-items: flex-start; }
.rp-ul-top h4 { margin-top: 4px; }
.rp-ul-top h4 s { color: var(--rp-sub); font-weight: 600; }
.rp-ul-ico { flex: none; width: 34px; height: 34px; border-radius: 50%; background: rgba(201,162,39,.16); color: var(--gold-ink); display: grid; place-items: center; }
.rp-ul-p { margin: 12px 0 0 !important; max-width: 58ch; }
.rp-ul-applied { margin: 10px 0 0 !important; color: var(--gold-ink); }
.rp-ul-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.rp-ul-actions a.rp-btn { display: inline-flex; align-items: center; text-decoration: none; }
.rp-btn:disabled { opacity: .55; cursor: default; transform: none; box-shadow: none; }
.rp-promo { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--rp-line); }
.rp-promo label { display: block; margin-bottom: 6px; font-size: 12.5px; font-weight: 600; color: var(--rp-mut); }
.rp-promo-row { display: flex; gap: 8px; }
.rp-promo-row input[type=text] { flex: 1; min-width: 0; height: 42px; padding: 0 14px; font-family: var(--mono); font-size: 14px; letter-spacing: .06em; text-transform: uppercase; }
.rp-promo-row input[type=text]::placeholder { text-transform: none; letter-spacing: 0; font-family: var(--sans); }
.rp-promo-msg { min-height: 1.3em; margin: 8px 0 0 !important; }
.rp-promo-msg.err { color: var(--rp-bad); }
.rp-promo-msg.ok { color: var(--rp-ok); }
.rp-tl-list { display: grid; gap: 8px; margin-top: 12px !important; }
.rp-tl-list li { display: flex; flex-wrap: wrap; gap: 2px 10px; align-items: baseline; }

@media (max-width: 520px) {
  .rp-host { margin-left: -10px; margin-right: -10px; width: calc(100% + 20px); }
  .rp-card { padding: 16px; }
}
@media (min-width: 600px) {
  .rp-stats { grid-template-columns: repeat(4, 1fr); }
  .rp-grow { grid-template-columns: 170px minmax(0, 1fr) 118px; }
  .rp-gctl { grid-row: 1; grid-column: 2; }
  .rp-gvals { grid-column: 3; grid-row: 1; }
  .rp-gname { grid-column: 1; grid-row: 1; }
  .rp-two, .rp-cols { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 720px) {
  .rp-card { padding: 22px; }
  .rp-card.rp-reg, .rp-card.rp-more { padding: 0; }
  .rp-2col { grid-template-columns: 1fr 1fr; }
  .rp-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .rp-tab { flex-direction: row; gap: 8px; padding: 11px 6px; font-size: 14px; }
  .rp-score { padding: 18px 18px; }
  .rp-score b { font-size: 2.1rem; }
}
@media (prefers-reduced-motion: reduce) { .rp-btn, .rp-tab, .rp-chev { transition: none; } }

/* Izomtérkép: elöl- és hátulnézet egymás mellett */
.mm-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; align-items: end; }
.mm-fig { margin: 0; min-width: 0; }
.mm-fig svg { max-height: 520px; }

/* vendég-scan: mentés felajánlása */
.rp-save { display: flex; align-items: center; justify-content: space-between; gap: 12px 16px; flex-wrap: wrap; margin: 16px 0 0; padding: 14px 16px; border: 1px solid #e4dcc0; border-radius: 12px; background: #fbf6e6; }
.rp-save > div { flex: 1 1 260px; min-width: 0; }
.rp-save b { display: block; font-size: 15px; }
.rp-save span { display: block; margin-top: 2px; font-size: 13px; line-height: 1.5; color: var(--rpt-muted, #6b675c); }

/* ruhában készült képek: figyelmeztetés */
.rp-warn { display: flex; flex-direction: column; gap: 4px; margin: 16px 0 0; padding: 14px 16px; border: 1px solid #ecc9a6; border-radius: 12px; background: #fff3e6; }
.rp-warn b { font-size: 15px; }
.rp-warn span { font-size: 13px; line-height: 1.5; color: var(--rpt-muted, #6b675c); }
.rp-warn-note { font-style: italic; }

/* ---------- PDF letöltés (rpDownloadPdf, report.js) — kompakt, max. 2 oldalas A4 ----------
 * #printMount a képernyőn is a DOM-ban van (valós szélesség kell a 12-szög rajzolásához), de a látható
 * területen kívül; nyomtatáskor csak ez látszik. 186 mm széles tartalom (A4, 12 mm margó) ≈ 703 px. */
.rp-head-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
#printMount { position: fixed; top: 0; left: -10000px; width: 703px; background: #fff; z-index: -1; }
.pdf { width: 703px; color: #111; font-family: var(--sans); font-size: 10.5px; line-height: 1.35; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.pdf .mono { font-family: var(--mono); }
.pdf h3 { margin: 0 0 6px; font-size: 12.5px; font-weight: 800; letter-spacing: -.01em; color: #111; border-bottom: 1.5px solid #111; padding-bottom: 3px; display: flex; align-items: baseline; gap: 6px; }
.pdf h3 small { font-weight: 500; color: #6c6a63; font-size: 10px; }
.pdf-page { break-after: page; page-break-after: always; }
.pdf-page:last-child { break-after: auto; page-break-after: auto; }
.pdf-blk { break-inside: avoid; page-break-inside: avoid; margin-bottom: 11px; }
.pdf-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; padding-bottom: 7px; border-bottom: 3px solid var(--gold); }
.pdf-logo { height: 34px; width: auto; display: block; }
.pdf-logo-t { font-size: 24px; font-weight: 800; letter-spacing: .08em; }
.pdf-htitle { text-align: right; }
.pdf-htitle b { display: block; font-family: var(--mono); font-size: 11px; letter-spacing: .18em; color: var(--gold-ink); }
.pdf-htitle span { font-size: 10px; color: #6c6a63; }
.pdf-meta { width: 100%; border-collapse: collapse; margin: 8px 0 12px; }
.pdf-meta td { border-left: 1px solid #d9d6cc; padding: 2px 8px; vertical-align: top; }
.pdf-meta td:first-child { border-left: 0; padding-left: 0; }
.pdf-meta small { display: block; font-size: 8.5px; color: #6c6a63; text-transform: uppercase; letter-spacing: .06em; }
.pdf-meta b { font-size: 11.5px; }
.pdf-grid { display: grid; grid-template-columns: minmax(0, 1fr) 232px; gap: 14px; }
.pdf-side { background: #F6F5F0; border: 1px solid #E4E1D8; border-radius: 6px; padding: 10px 10px 2px; }
.pdf-comp { width: 100%; border-collapse: collapse; }
.pdf-comp td { padding: 4px 6px; border-bottom: 1px solid #ECE9E1; }
.pdf-comp td:nth-child(2) { text-align: right; font-weight: 700; font-size: 11.5px; width: 80px; }
.pdf-comp .pdf-cmt { color: #6c6a63; font-size: 9.5px; }
.pdf-comp tr.sum td { border-top: 1.5px solid #111; border-bottom: 0; font-weight: 700; }
.pdf-legend { margin: 0 0 2px; font-size: 8.5px; color: #6c6a63; text-align: right; }
.pdf-legend i { display: inline-block; width: 16px; height: 7px; background: #D6E2D0; vertical-align: -1px; margin-right: 4px; }
.pdf-legend b { color: #111; }
.pdf-brow { display: grid; grid-template-columns: 120px 1fr; align-items: center; padding: 4px 0; border-bottom: 1px solid #ECE9E1; }
.pdf-brow > span b { display: block; font-size: 11px; }
.pdf-brow > span small { color: #6c6a63; font-size: 9px; }
.pdf-bar { display: grid; grid-template-columns: 1fr 56px; align-items: center; gap: 6px; }
.pdf-bar-t { position: relative; height: 9px; background: #F1EFE9; }
.pdf-bar-t .z { position: absolute; top: 0; bottom: 0; }
.pdf-bar-t .z.lo { left: 0; background: #F1EFE9; }
.pdf-bar-t .z.ok { background: #D6E2D0; }
.pdf-bar-t i { position: absolute; left: 0; top: 2px; bottom: 2px; background: #111; }
.pdf-bar b { font-size: 12px; text-align: right; }
.pdf-bar b small { font-size: 9px; color: #6c6a63; margin-left: 1px; }
.pdf-segs { display: grid; grid-template-columns: 96px minmax(0, 1fr) 96px; gap: 6px; align-items: center; }
.pdf-figs { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
.pdf-figs svg { display: block; width: 100%; height: auto; max-height: 230px; }
.pdf-figs .mmp-p { stroke: #fff; stroke-width: 2; }
.pdf-seg { border-bottom: 1px dashed #cfccc2; padding: 4px 0; text-align: center; }
.pdf-seg span { display: block; font-weight: 700; font-size: 10.5px; }
.pdf-seg b { font-size: 13px; }
.pdf-seg small { display: block; font-size: 8.5px; color: #6c6a63; }
.pdf-scs { display: grid; grid-template-columns: 1fr 1fr; gap: 3px 16px; }
.pdf-sc { display: grid; grid-template-columns: 70px 1fr 30px; gap: 6px; align-items: center; }
.pdf-sc-t { height: 7px; background: #ECE9E1; border-radius: 99px; overflow: hidden; }
.pdf-sc-t i { display: block; height: 100%; border-radius: 99px; }
.pdf-sc b { text-align: right; font-size: 11px; }
.pdf-score p { margin: 0; display: flex; align-items: baseline; gap: 4px; }
.pdf-score p b { font-size: 30px; font-weight: 700; letter-spacing: -.03em; }
.pdf-score p span { color: #6c6a63; }
.pdf-radar { width: 210px; min-height: 0; margin: 0 auto; }
.pdf-radar svg { width: 100%; height: auto; }
.pdf-kv { display: flex; justify-content: space-between; gap: 8px; padding: 3px 0; border-bottom: 1px solid #E4E1D8; font-size: 10px; }
.pdf-kv b { font-size: 10.5px; }
.pdf-kv.hl b { color: var(--gold-ink); }
.pdf-pill { font-style: normal; font-size: 9px; font-weight: 700; padding: 1px 6px; border-radius: 99px; background: #E6F0EA; color: #2E7D52; white-space: nowrap; }
.pdf-pill.warn { background: #F6EED3; color: #85680a; }
.pdf-pill.bad { background: #F4E3E5; color: #A8414F; }
.pdf-head2 { margin-bottom: 12px; }
.pdf-two { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pdf-list { margin: 0; padding-left: 14px; }
.pdf-list li { margin: 0 0 3px; }
.pdf-p { margin: 0 0 5px; }
.pdf-ex { width: 100%; border-collapse: collapse; font-size: 9.5px; table-layout: fixed; }
.pdf-ex th { text-align: left; font-family: var(--mono); font-size: 8px; letter-spacing: .06em; text-transform: uppercase; color: #fff; background: #55636f; padding: 3px 5px; }
.pdf-ex td { padding: 3px 5px; border-bottom: 1px solid #ECE9E1; vertical-align: top; }
.pdf-ex td small { color: #6c6a63; }
.pdf-pos { width: 100%; border-collapse: collapse; font-size: 9.5px; }
.pdf-pos td { padding: 3px 5px; border-bottom: 1px solid #ECE9E1; vertical-align: top; }
.pdf-pos td:first-child { width: 50px; } .pdf-pos td:nth-child(2) { width: 150px; }
.pdf-foot { margin: 10px 0 0; padding-top: 6px; border-top: 1px solid #d9d6cc; font-size: 9px; color: #6c6a63; text-align: center; }
@media print {
  body > *:not(#printMount) { display: none !important; }
  #printMount { position: static; left: auto; top: auto; width: auto; z-index: auto; }
  @page { size: A4; margin: 12mm; }
}

