/* FitCalcly v17: cohesive, accessible result explanations and lightweight visuals */
:root{--v17-ink:#0f172a;--v17-soft:#334155;--v17-good:#047857;--v17-good2:#0f766e;--v17-watch:#b45309;--v17-danger:#b91c1c;--v17-sky:#0369a1;--v17-violet:#6d28d9}

/* Richer, higher-contrast summary boxes across all 32 tools */
.fc-summary{border-color:#cbd5e1;background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);box-shadow:0 14px 34px rgba(15,23,42,.09)}
.fc-summary-head{align-items:center}.fc-summary-kicker{color:#047857}.fc-summary-head h3{color:var(--v17-ink)!important;font-weight:850}.fc-summary-intro{font-size:.86rem;color:var(--v17-soft);line-height:1.62}.fc-summary-live{background:linear-gradient(135deg,#eff6ff,#ecfdf5);border-color:#93c5fd;color:#1e3a5f;font-size:.82rem;line-height:1.55}.fc-summary-live strong{color:#0f172a}
.fc-summary-visual{height:76px;flex-basis:210px;max-width:220px;border-radius:15px;background:linear-gradient(145deg,#ecfeff,#eff6ff 55%,#f5f3ff);border:1px solid #bae6fd;padding:6px;box-shadow:inset 0 1px 0 #fff,0 8px 20px rgba(14,116,144,.08)}
.fc-summary-visual svg{overflow:visible;filter:none}
.fc-summary-grid{gap:14px}.fc-summary-panel{padding:0 12px 13px;overflow:hidden;box-shadow:0 7px 18px rgba(15,23,42,.05)}
.fc-summary-panel.good{background:linear-gradient(180deg,#ecfdf5,#f0fdfa);border-color:#6ee7b7}
.fc-summary-panel.watch{background:linear-gradient(180deg,#fff7ed,#fff1f2);border-color:#fdba74}
.fc-summary-panel h4{margin:0 -12px 12px!important;padding:11px 13px;font-size:.88rem;letter-spacing:.005em;color:#fff!important;line-height:1.3}
.fc-summary-panel.good h4{background:linear-gradient(100deg,#047857,#0f766e)}
.fc-summary-panel.watch h4{background:linear-gradient(100deg,#b45309,#be123c)}
.fc-summary-list{gap:9px}.fc-summary-item{background:#fff;border-color:#d7e0e8;padding:10px;box-shadow:0 3px 9px rgba(15,23,42,.035)}
.fc-summary-item:hover{border-color:#94a3b8;transform:translateY(-1px)}
.fc-summary-item strong{font-size:.82rem;color:var(--v17-ink);font-weight:800}.fc-summary-item span:last-child{font-size:.76rem;color:var(--v17-soft);line-height:1.48}
.fc-summary-icon{background:linear-gradient(145deg,#fff,#eef6ff);box-shadow:inset 0 0 0 1px #dbeafe,0 2px 5px rgba(15,23,42,.06)}

/* Tool-specific summary visual motion: transforms/opacity only, finite loops */
.v17-svg-bg{fill:url(#v17bg)}.v17-soft-ring{fill:none;stroke:#bfdbfe;stroke-width:3}.v17-main-stroke{fill:none;stroke:var(--v17c,#0ea5e9);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.v17-main-fill{fill:var(--v17c,#0ea5e9)}.v17-accent-fill{fill:var(--v17a,#10b981)}.v17-warm-fill{fill:var(--v17w,#f59e0b)}
.v17-draw{stroke-dasharray:240;stroke-dashoffset:240}.result.show .v17-draw,.result[style*="display: block"] .v17-draw{animation:v17Draw .9s cubic-bezier(.2,.75,.2,1) forwards}
.v17-pop{transform-box:fill-box;transform-origin:center;opacity:.25}.result.show .v17-pop,.result[style*="display: block"] .v17-pop{animation:v17Pop .5s ease forwards}.result.show .v17-pop.d2{animation-delay:.12s}.result.show .v17-pop.d3{animation-delay:.24s}.result.show .v17-pop.d4{animation-delay:.36s}
.v17-float{transform-box:fill-box;transform-origin:center}.result.show .v17-float,.result[style*="display: block"] .v17-float{animation:v17Float 2.8s ease-in-out 3}
.v17-pulse{transform-box:fill-box;transform-origin:center}.result.show .v17-pulse,.result[style*="display: block"] .v17-pulse{animation:v17Pulse 2.2s ease-in-out 3}
.v17-rotate{transform-box:fill-box;transform-origin:center}.result.show .v17-rotate,.result[style*="display: block"] .v17-rotate{animation:v17Rotate 4.2s linear 2}
.v17-slide{transform-box:fill-box;transform-origin:center}.result.show .v17-slide,.result[style*="display: block"] .v17-slide{animation:v17Slide 2.6s ease-in-out 3}
@keyframes v17Draw{to{stroke-dashoffset:0}}@keyframes v17Pop{to{opacity:1;transform:scale(1.03)}}@keyframes v17Float{50%{transform:translateY(-3px)}}@keyframes v17Pulse{50%{transform:scale(1.06);opacity:.78}}@keyframes v17Rotate{to{transform:rotate(360deg)}}@keyframes v17Slide{50%{transform:translateX(5px)}}

/* Static, chatbot-readable deep-dive sections */
.fc-deep-dive{margin:30px 0 18px;padding:18px;border:1px solid #d8e2eb;border-radius:16px;background:linear-gradient(140deg,#ffffff,#f8fbff);box-shadow:0 9px 25px rgba(15,23,42,.05)}
.fc-deep-dive>h2{margin:0 0 6px!important;color:var(--v17-ink)}.fc-deep-dive>.fc-deep-intro{margin:0 0 14px;color:var(--v17-soft);font-size:.9rem;line-height:1.65}
.fc-deep-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.fc-deep-card{position:relative;overflow:hidden;border:1px solid #dbe4ec;border-radius:13px;background:#fff;padding:15px 14px 14px;box-shadow:0 5px 14px rgba(15,23,42,.04)}
.fc-deep-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--deep-grad,linear-gradient(90deg,#10b981,#0ea5e9))}.fc-deep-card:nth-child(2){--deep-grad:linear-gradient(90deg,#0ea5e9,#6366f1)}.fc-deep-card:nth-child(3){--deep-grad:linear-gradient(90deg,#f59e0b,#ef4444)}
.fc-deep-card h3{margin:0 0 7px!important;font-size:.94rem!important;color:var(--v17-ink)}.fc-deep-card p{margin:0!important;color:var(--v17-soft);font-size:.84rem;line-height:1.62}.fc-deep-card strong{color:#0f172a}

/* Improve guide cards and FAQ readability */
.fc-guide-card{border-color:#d6e0e8;background:linear-gradient(180deg,#fff,#f8fafc);box-shadow:0 7px 18px rgba(15,23,42,.05)}.fc-guide-card h3{color:#0f172a!important}.fc-guide-card p,.faq .a{color:#334155!important}.faq details{border-color:#d8e1e8}.faq summary{color:#0f172a}.faq details[open]{border-color:#5eead4;box-shadow:0 6px 18px rgba(15,118,110,.08)}

/* Higher-contrast legacy recommendation boxes, including Protein Calculator */
.recwrap,.duo,.food-columns{color:#0f172a}.recbox,.duo .box{border-color:#cbd5e1!important}.rec-eat,.duo .box.hl{background:linear-gradient(180deg,#ecfdf5,#f0fdfa)!important}.rec-avoid{background:linear-gradient(180deg,#fff1f2,#fff7ed)!important}.rec-eat h4{background:linear-gradient(90deg,#047857,#0f766e)!important;color:#fff!important}.rec-avoid h4{background:linear-gradient(90deg,#be123c,#b45309)!important;color:#fff!important}.recbox li,.recbox p,.duo .box{color:#334155!important}.duo .box h3,.duo .box .val{color:#0f172a!important}

/* Meal Plan Calculator v17 */
.meal-v17-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.meal-v17-form .field.full{grid-column:1/-1}.meal-v17-form select{border:1px solid var(--line,#dce6e3);border-radius:10px;padding:11px 12px;font-size:1rem;background:#fbfdfc;width:100%;color:#16302b}
.mp-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.mp-metric{border:1px solid #d7e3ea;border-radius:13px;background:linear-gradient(180deg,#fff,#f8fafc);padding:12px;min-width:0}.mp-metric span{display:block;font-size:.68rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:#64748b}.mp-metric strong{display:block;margin-top:3px;color:#0f172a;font-size:1.2rem;line-height:1.2}.mp-metric small{display:block;color:#475569;font-size:.72rem;margin-top:3px;line-height:1.35}
.mp-visual-grid{display:grid;grid-template-columns:minmax(250px,.9fr) minmax(0,1.25fr);gap:14px;margin:14px 0}.mp-plate-card,.mp-curve-card{border:1px solid #d8e3ea;border-radius:15px;background:linear-gradient(160deg,#fff,#f3fbff);padding:14px;min-width:0}.mp-card-title{font-size:.88rem;font-weight:850;color:#0f172a;margin-bottom:8px}.mp-plate-svg{display:block;width:100%;max-width:280px;margin:0 auto;overflow:visible}.mp-plate-seg{transform-box:fill-box;transform-origin:center;opacity:.25}.result.show .mp-plate-seg{animation:v17Pop .55s ease forwards}.result.show .mp-plate-seg:nth-of-type(2){animation-delay:.1s}.result.show .mp-plate-seg:nth-of-type(3){animation-delay:.2s}.result.show .mp-plate-seg:nth-of-type(4){animation-delay:.3s}.mp-steam{opacity:0;transform-box:fill-box;transform-origin:center}.result.show .mp-steam{animation:mpSteam 2.4s ease-out 3}.result.show .mp-steam.s2{animation-delay:.4s}.result.show .mp-steam.s3{animation-delay:.8s}@keyframes mpSteam{0%{opacity:0;transform:translateY(7px)}35%{opacity:.7}100%{opacity:0;transform:translateY(-8px)}}
.mp-legend{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin-top:7px}.mp-legend span{font-size:.72rem;color:#334155;display:flex;align-items:center;gap:6px}.mp-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}
.mp-energy-svg{width:100%;height:auto;display:block}.mp-energy-line{fill:none;stroke:#0ea5e9;stroke-width:4;stroke-linecap:round;stroke-dasharray:520;stroke-dashoffset:520}.result.show .mp-energy-line{animation:v17Draw 1.1s ease forwards}.mp-energy-dot{opacity:.2}.result.show .mp-energy-dot{animation:v17Pop .42s ease forwards}.mp-energy-dot.d2{animation-delay:.15s}.mp-energy-dot.d3{animation-delay:.3s}.mp-energy-dot.d4{animation-delay:.45s}.mp-energy-dot.d5{animation-delay:.6s}
.mp-timeline{display:grid;gap:10px;margin:14px 0}.mp-meal-card{position:relative;display:grid;grid-template-columns:66px minmax(0,1fr) auto;gap:12px;align-items:start;border:1px solid #d8e2ea;border-radius:14px;background:#fff;padding:13px;opacity:0;transform:translateY(8px);box-shadow:0 5px 14px rgba(15,23,42,.035)}.result.show .mp-meal-card{animation:fcRise .42s ease forwards}.result.show .mp-meal-card:nth-child(2){animation-delay:.07s}.result.show .mp-meal-card:nth-child(3){animation-delay:.14s}.result.show .mp-meal-card:nth-child(4){animation-delay:.21s}.result.show .mp-meal-card:nth-child(5){animation-delay:.28s}
.mp-time{display:grid;place-items:center;border-radius:10px;background:linear-gradient(135deg,#ecfeff,#eef2ff);min-height:54px;font-weight:850;color:#0f766e;font-size:.77rem;text-align:center;padding:5px}.mp-meal-card h4{margin:0 0 4px;font-size:.94rem;color:#0f172a}.mp-meal-card p{margin:0;color:#475569;font-size:.78rem;line-height:1.47}.mp-meal-card .mp-swap{margin-top:5px;color:#0369a1;font-size:.72rem}.mp-kcal{font-weight:850;color:#0f172a;white-space:nowrap}.mp-macros{font-size:.7rem;color:#64748b;margin-top:4px;text-align:right;white-space:nowrap}
.mp-grocery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.mp-grocery-card{border:1px solid #d8e2ea;border-radius:12px;padding:12px;background:#fff}.mp-grocery-card h4{margin:0 0 6px;font-size:.82rem;color:#0f172a}.mp-grocery-card p{margin:0;font-size:.74rem;color:#475569;line-height:1.45}
.mp-note{border:1px solid #bae6fd;background:linear-gradient(135deg,#eff6ff,#ecfdf5);border-radius:12px;padding:11px 12px;color:#334155;font-size:.79rem;line-height:1.55;margin-top:12px}

/* AdSense layout stability */
.adbox{min-height:130px!important;display:grid;align-content:start;overflow:hidden}.adbox .adlabel{color:#64748b}.adbox ins.adsbygoogle{min-height:100px!important}

@media(max-width:760px){.fc-summary-visual{max-width:100%;width:100%;height:68px;flex-basis:auto}.fc-deep-grid{grid-template-columns:1fr}.mp-overview{grid-template-columns:1fr 1fr}.mp-visual-grid{grid-template-columns:1fr}.mp-grocery{grid-template-columns:1fr 1fr}.meal-v17-form{grid-template-columns:1fr}.meal-v17-form .field.full{grid-column:auto}}
@media(max-width:520px){.fc-summary-panel{padding-left:10px;padding-right:10px}.fc-summary-panel h4{margin-left:-10px!important;margin-right:-10px!important}.mp-overview{grid-template-columns:1fr 1fr}.mp-meal-card{grid-template-columns:56px minmax(0,1fr)}.mp-meal-card>div:last-child{grid-column:2;text-align:left}.mp-macros{text-align:left}.mp-grocery{grid-template-columns:1fr}.mp-legend{grid-template-columns:1fr}}
@media(max-width:360px){.mp-overview{grid-template-columns:1fr}.fc-summary-item{grid-template-columns:30px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.v17-draw,.v17-pop,.v17-float,.v17-pulse,.v17-rotate,.v17-slide,.mp-plate-seg,.mp-steam,.mp-energy-line,.mp-energy-dot,.mp-meal-card{animation:none!important;opacity:1!important;transform:none!important;stroke-dashoffset:0!important}}
@media print{.fc-deep-dive{box-shadow:none}.mp-meal-card{opacity:1!important;transform:none!important}.mp-steam{display:none}.fc-summary-panel h4{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Keep decorative motion engaging without running forever on tool pages. */
body[data-tool] .logo .ldot,
body[data-tool] .hbeat,
body[data-tool] .hbeat2,
body[data-tool] .mline.active,
body[data-tool] .mring.active,
body[data-tool] .wkmark,
body[data-tool] .ergo-pt.on .ring,
body[data-tool] .ecg path,
body[data-tool] .eye,
body[data-tool] #yPose{animation-iteration-count:3!important}
