/* FitCalc 1.2.0 */
.fitcalc {
	--fitcalc-accent:#2563eb;
	--fc-text:#0f172a;
	--fc-muted:#64748b;
	--fc-bg:#fff;
	--fc-soft:#f8fafc;
	--fc-line:#dbe4f0;
	max-width:780px;
	margin:24px auto;
	overflow:hidden;
	color:var(--fc-text);
	background:var(--fc-bg);
	border:1px solid var(--fc-line);
	border-radius:24px;
	box-shadow:0 20px 55px rgba(15,23,42,.09);
	font-family:inherit;
}
.fitcalc *{box-sizing:border-box}
.fitcalc [hidden]{display:none!important}
.fitcalc__header{padding:28px 30px 24px;color:#fff;background:linear-gradient(135deg,#0f2f6f 0%,var(--fitcalc-accent) 72%,#38bdf8 140%)}
.fitcalc__eyebrow{display:inline-block;margin-bottom:7px;font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;opacity:.84}
.fitcalc__header h2{margin:0 0 8px;color:inherit;font-size:clamp(27px,4vw,38px);line-height:1.15}
.fitcalc__header p{max-width:620px;margin:0;color:inherit;line-height:1.55;opacity:.9}
.fitcalc__tabs{display:flex;gap:5px;padding:12px 14px;overflow-x:auto;background:#f1f5f9;border-bottom:1px solid var(--fc-line);scrollbar-width:thin}
.fitcalc__tabs button{flex:1 0 auto;padding:10px 14px;color:#475569;background:transparent;border:0;border-radius:10px;font:inherit;font-size:14px;font-weight:750;cursor:pointer}
.fitcalc__tabs button[aria-selected=true]{color:#fff;background:var(--fitcalc-accent);box-shadow:0 4px 12px color-mix(in srgb,var(--fitcalc-accent) 28%,transparent)}
.fitcalc__tabs button:focus-visible{outline:3px solid color-mix(in srgb,var(--fitcalc-accent) 30%,transparent);outline-offset:2px}
.fitcalc__body{padding:27px 30px 10px}
.fitcalc__panel-heading{margin-bottom:20px}
.fitcalc__panel-heading h3{margin:0;color:var(--fc-text);font-size:23px}
.fitcalc__panel-heading p{margin:5px 0 0;color:var(--fc-muted);font-size:13px}
.fitcalc__units{padding:0;margin:0 0 20px;border:0}
.fitcalc__units legend{margin-bottom:8px;font-size:14px;font-weight:750}
.fitcalc__segmented{display:grid;grid-template-columns:1fr 1fr;padding:4px;background:#edf2f7;border-radius:13px}
.fitcalc__segmented label{position:relative;cursor:pointer}
.fitcalc__segmented input{position:absolute;opacity:0;pointer-events:none}
.fitcalc__segmented span{display:block;padding:10px 14px;text-align:center;border-radius:10px;font-weight:750}
.fitcalc__segmented input:checked+span{color:var(--fitcalc-accent);background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.1)}
.fitcalc__segmented input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--fitcalc-accent) 28%,transparent)}
.fitcalc__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.fitcalc__fields label{display:flex;flex-direction:column;gap:8px;font-weight:750}
.fitcalc__fields small{color:var(--fc-muted);font-size:.86em;font-weight:600}
.fitcalc__fields input,.fitcalc__fields select{width:100%;min-height:50px;padding:11px 14px;color:var(--fc-text);background:var(--fc-soft);border:1px solid #cbd5e1;border-radius:12px;font:inherit;font-size:16px;outline:0}
.fitcalc__fields input:focus,.fitcalc__fields select:focus{background:var(--fc-bg);border-color:var(--fitcalc-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--fitcalc-accent) 15%,transparent)}
.fitcalc__wide{grid-column:1/-1}
.fitcalc__error{margin:15px 0 0;padding:10px 12px;color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:10px}
.fitcalc__actions{display:flex;align-items:center;gap:10px;margin-top:22px}
.fitcalc__button,.fitcalc__reset{min-height:48px;padding:11px 20px;border-radius:12px;font:inherit;font-weight:800;cursor:pointer}
.fitcalc__button{color:#fff;background:var(--fitcalc-accent);border:1px solid var(--fitcalc-accent);box-shadow:0 8px 20px color-mix(in srgb,var(--fitcalc-accent) 25%,transparent)}
.fitcalc__button:hover{filter:brightness(.9)}
.fitcalc__reset{color:var(--fc-text);background:transparent;border:1px solid #cbd5e1}
.fitcalc__button:focus-visible,.fitcalc__reset:focus-visible,.fitcalc__result-actions button:focus-visible{outline:3px solid color-mix(in srgb,var(--fitcalc-accent) 30%,transparent);outline-offset:2px}
.fitcalc__result{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(220px,1.4fr);gap:20px;margin-top:22px;padding:21px;background:color-mix(in srgb,var(--fitcalc-accent) 5%,var(--fc-bg));border:1px solid color-mix(in srgb,var(--fitcalc-accent) 24%,var(--fc-line));border-radius:17px;animation:fitcalc-in .22s ease-out}
.fitcalc__result-main{display:flex;flex-direction:column;align-items:flex-start}
.fitcalc__result-main>span{color:var(--fc-muted);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.fitcalc__result-main strong{margin:4px 0;color:var(--fc-text);font-size:clamp(28px,5vw,43px);line-height:1.1}
.fitcalc__result-main em{padding:5px 10px;color:var(--fitcalc-accent);background:color-mix(in srgb,var(--fitcalc-accent) 12%,var(--fc-bg));border-radius:999px;font-size:13px;font-style:normal;font-weight:800}
.fitcalc__result-detail{align-self:center;color:var(--fc-muted);font-size:14px;line-height:1.6}
.fitcalc__result-actions{grid-column:1/-1;display:flex;gap:8px;padding-top:13px;border-top:1px solid var(--fc-line)}
.fitcalc__result-actions button{padding:7px 11px;color:var(--fitcalc-accent);background:var(--fc-bg);border:1px solid var(--fc-line);border-radius:8px;font:inherit;font-size:12px;font-weight:750;cursor:pointer}
.fitcalc__note{margin:0;padding:6px 30px 25px;color:var(--fc-muted);font-size:12px;line-height:1.55}
.fitcalc__toast{position:fixed;right:22px;bottom:22px;z-index:99999;padding:11px 15px;color:#fff;background:#0f172a;border-radius:10px;box-shadow:0 8px 25px rgba(15,23,42,.24);font-size:13px;font-weight:700}
.fitcalc--dark{--fc-text:#f8fafc;--fc-muted:#a9b7ca;--fc-bg:#0f172a;--fc-soft:#172033;--fc-line:#334155;box-shadow:0 20px 55px rgba(2,6,23,.3)}
.fitcalc--dark .fitcalc__tabs{background:#111b2e}
.fitcalc--dark .fitcalc__segmented{background:#172033}
.fitcalc--dark .fitcalc__segmented input:checked+span{background:#27344a}
.fitcalc--dark .fitcalc__fields input,.fitcalc--dark .fitcalc__fields select{border-color:#475569}
.fitcalc--dark .fitcalc__reset{color:#e2e8f0;border-color:#475569}
.fitcalc--minimal{border:0;border-radius:0;box-shadow:none}
.fitcalc--minimal .fitcalc__header{padding-left:0;padding-right:0;color:var(--fc-text);background:none}
.fitcalc--minimal .fitcalc__body,.fitcalc--minimal .fitcalc__note{padding-left:0;padding-right:0}
@keyframes fitcalc-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:600px){
	.fitcalc{border-radius:18px}
	.fitcalc__header,.fitcalc__body{padding-left:20px;padding-right:20px}
	.fitcalc__fields,.fitcalc__result{grid-template-columns:1fr}
	.fitcalc__note{padding-left:20px;padding-right:20px}
	.fitcalc__result-actions{grid-column:1}
}
@media(prefers-reduced-motion:reduce){.fitcalc__result{animation:none}}
@media print{
	body *{visibility:hidden!important}
	.fitcalc[data-printing=true],.fitcalc[data-printing=true] *{visibility:visible!important}
	.fitcalc[data-printing=true]{position:absolute;left:0;top:0;width:100%;max-width:none;border:0;box-shadow:none}
	.fitcalc[data-printing=true] .fitcalc__tabs,.fitcalc[data-printing=true] .fitcalc__actions,.fitcalc[data-printing=true] .fitcalc__result-actions{display:none!important}
}

/* Wellness tools */
.fitcalc__tool{min-height:430px}
.fitcalc__habit-progress{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:14px;margin-bottom:19px}
.fitcalc__habit-progress strong{font-size:24px}
.fitcalc__habit-progress>span,.fitcalc__challenge-card>div{height:11px;overflow:hidden;background:#e2e8f0;border-radius:99px}
.fitcalc__habit-progress i,.fitcalc__challenge-card i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--fitcalc-accent),#22c55e);border-radius:inherit;transition:width .25s ease}
.fitcalc__habit-list{display:grid;gap:10px;margin-bottom:18px}
.fitcalc__habit-list label{position:relative;display:flex;align-items:center;gap:12px;padding:13px 15px;background:var(--fc-soft);border:1px solid var(--fc-line);border-radius:12px;font-weight:700;cursor:pointer}
.fitcalc__habit-list input{width:20px;height:20px;margin:0;accent-color:var(--fitcalc-accent)}
.fitcalc__habit-list input:checked+span{text-decoration:line-through;color:var(--fc-muted)}
.fitcalc__preset-row{display:flex;gap:8px;margin:-7px 0 17px}
.fitcalc__preset-row button{padding:7px 12px;color:var(--fitcalc-accent);background:color-mix(in srgb,var(--fitcalc-accent) 8%,var(--fc-bg));border:1px solid color-mix(in srgb,var(--fitcalc-accent) 25%,var(--fc-line));border-radius:999px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.fitcalc__timer-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
.fitcalc__timer-display{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:190px;margin-top:20px;padding:20px;text-align:center;background:var(--fc-soft);border:1px solid var(--fc-line);border-radius:20px}
.fitcalc__timer-display span{color:var(--fitcalc-accent);font-size:14px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.fitcalc__timer-display strong{font-variant-numeric:tabular-nums;font-size:clamp(48px,10vw,78px);line-height:1.1}
.fitcalc__timer-display em{color:var(--fc-muted);font-style:normal;font-weight:700}
.fitcalc__timer-display[data-timer-state=rest]{background:color-mix(in srgb,#22c55e 8%,var(--fc-bg))}
.fitcalc__timer-display[data-timer-state=complete]{background:color-mix(in srgb,var(--fitcalc-accent) 9%,var(--fc-bg))}
.fitcalc__breath-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px}
.fitcalc__breath-stage>div{display:flex;flex-direction:column;align-items:center;justify-content:center;width:180px;height:180px;color:#fff;background:radial-gradient(circle at 35% 30%,#60a5fa,var(--fitcalc-accent));border-radius:50%;box-shadow:0 0 0 18px color-mix(in srgb,var(--fitcalc-accent) 10%,transparent),0 15px 40px color-mix(in srgb,var(--fitcalc-accent) 30%,transparent);transition:transform 1s ease}
.fitcalc__breath-stage>div[data-phase=inhale]{animation:fitcalc-breathe-in 4s ease-in-out forwards}
.fitcalc__breath-stage>div[data-phase=exhale]{animation:fitcalc-breathe-out 6s ease-in-out forwards}
.fitcalc__breath-stage span{font-size:16px;font-weight:800}
.fitcalc__breath-stage strong{font-size:40px;line-height:1.1}
.fitcalc__breath-stage p{margin:28px 0 0;color:var(--fc-muted);font-variant-numeric:tabular-nums;font-weight:800}
.fitcalc__challenge-select{display:flex;flex-direction:column;gap:8px;font-weight:750}
.fitcalc__challenge-select select{min-height:50px;padding:11px 14px;color:var(--fc-text);background:var(--fc-soft);border:1px solid #cbd5e1;border-radius:12px;font:inherit}
.fitcalc__challenge-card{margin-top:18px;padding:24px;background:var(--fc-soft);border:1px solid var(--fc-line);border-radius:18px}
.fitcalc__challenge-card strong{display:block;margin-bottom:13px;font-size:32px}
.fitcalc__challenge-card p{margin:13px 0 0;color:var(--fc-muted)}
.fitcalc__button:disabled{opacity:.5;cursor:not-allowed;filter:none}
@keyframes fitcalc-breathe-in{from{transform:scale(.78)}to{transform:scale(1.08)}}
@keyframes fitcalc-breathe-out{from{transform:scale(1.08)}to{transform:scale(.78)}}
@media(max-width:600px){.fitcalc__timer-fields{grid-template-columns:1fr}.fitcalc__tool{min-height:0}}
@media(prefers-reduced-motion:reduce){.fitcalc__breath-stage>div{animation:none!important;transition:none}}
