

.step-list { margin-bottom: 1.5rem; display: flex; flex-direction: column; gap: 0.25rem; }
.step-row {
	background: var(--surface-card);
	border-radius: var(--radius-lg);
	padding: 1rem 1.5rem;
	display: flex; align-items: center; gap: 1rem;
}
.step-num {
	width: 2.5rem; height: 2.5rem; border-radius: 50%;
	background: var(--accent-subtle);
	display: flex; align-items: center; justify-content: center;
	font-family: 'Nunito', sans-serif;
	font-size: 1.125rem; font-weight: 900; color: var(--accent);
	flex-shrink: 0;
}
.step-row-title { font-size: 1.0625rem; font-weight: 600; color: var(--text-primary); }
.step-row-sub { font-size: 0.9375rem; color: var(--text-tertiary); margin-top: 0.125rem; }

.icon-box {
	width: 5rem; height: 5rem; border-radius: var(--radius-md);
	background: var(--accent-subtle);
	display: flex; align-items: center; justify-content: center;
	font-size: 2.25rem; margin: 0 auto 1.25rem;
}

.timer-wrap { text-align: center; margin-bottom: 1.25rem; }
.timer-circle { position: relative; width: 10rem; height: 10rem; margin: 0 auto 1rem; }
.timer-circle svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.tc-track { fill: none; stroke: rgba(0,25,9,0.08); stroke-width: 0.375rem; }
.tc-prog { fill: none; stroke: var(--accent); stroke-width: 0.375rem; stroke-linecap: round; stroke-dasharray: 408; stroke-dashoffset: 0; transition: stroke-dashoffset 1s linear; }
.timer-inner { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.timer-num { font-family: 'Nunito', sans-serif; font-size: 3.5rem; font-weight: 900; color: var(--text-primary); line-height: 0.9; letter-spacing: -0.03em; }
.timer-unit { font-size: 0.75rem; color: var(--text-tertiary); font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; margin-top: 0.25rem; }
.timer-msg { font-size: 0.9375rem; color: var(--text-secondary); min-height: 1.375rem; font-weight: 500; }

.breath-wrap { text-align: center; margin-bottom: 1.25rem; }
.breath-outer {
	width: 10rem; height: 10rem; border-radius: 50%;
	background: rgba(110,0,171,0.06); border: 0.09375rem solid rgba(110,0,171,0.18);
	display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem;
	transition: transform 0.9s cubic-bezier(0.4,0,0.2,1), background 0.9s ease, border-color 0.9s ease;
}
.breath-inner {
	width: 6rem; height: 6rem; border-radius: 50%;
	background: var(--accent-subtle); display: flex; align-items: center; justify-content: center;
	transition: transform 0.9s cubic-bezier(0.4,0,0.2,1);
}
.breath-core { width: 2rem; height: 2rem; border-radius: 50%; background: var(--accent); transition: transform 0.9s cubic-bezier(0.4,0,0.2,1); }
.breath-inst { font-family: 'Nunito', sans-serif; font-size: 1.375rem; font-weight: 900; color: var(--text-primary); letter-spacing: -0.02em; min-height: 1.75rem; }
.breath-sub { font-size: 0.9375rem; color: var(--text-tertiary); margin-top: 0.375rem; min-height: 1.25rem; font-weight: 500; }

.scan-row {
	background: var(--surface-card);
	border-radius: var(--radius-md);
	padding: 0.875rem 1.25rem;
	display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.25rem; transition: all 0.5s ease;
}
.scan-row.active { background: var(--accent-subtle); }
.scan-row.done { opacity: 0.5; }
.scan-dot { width: 0.625rem; height: 0.625rem; border-radius: 50%; background: rgba(0,25,9,0.15); flex-shrink: 0; transition: background 0.5s ease; }
.scan-row.active .scan-dot { background: var(--accent); }
.scan-text { font-size: 1.0625rem; font-weight: 600; color: var(--text-tertiary); transition: color 0.5s ease; }
.scan-row.active .scan-text { color: var(--text-primary); }
.scan-msg { font-size: 0.9375rem; color: var(--text-secondary); min-height: 1.375rem; margin: 0.75rem 0 1.25rem; font-weight: 500; }

.result-icon { font-size: 3.5rem; text-align: center; margin-bottom: 1rem; }
.result-title { font-family: 'Nunito', sans-serif; font-size: 2.5rem; font-weight: 900; color: var(--text-primary); text-align: center; margin-bottom: 0.75rem; letter-spacing: -0.03em; line-height: 0.9; }

.slider-wrap { margin-bottom: 1.5rem; }
.slider-label { font-size: 0.9375rem; color: var(--text-secondary); text-align: center; margin-bottom: 1rem; font-weight: 500; }
.slider-val { font-family: 'Nunito', sans-serif; font-size: 3.5rem; font-weight: 900; color: var(--accent); text-align: center; line-height: 0.9; margin-bottom: 1rem; letter-spacing: -0.03em; }
.r-range {
	width: 100%; -webkit-appearance: none; appearance: none;
	height: 0.375rem; border-radius: 0.1875rem; outline: none; cursor: pointer;
	background: linear-gradient(to right, var(--accent), #b980d9, var(--crisis));
	margin-bottom: 0.5rem; display: block;
}
.r-range::-webkit-slider-thumb { -webkit-appearance: none; width: 1.75rem; height: 1.75rem; border-radius: 50%; background: white; border: 0.1875rem solid var(--accent); box-shadow: 0 0.125rem 0.5rem rgba(0,25,9,0.15); cursor: pointer; }
.r-range::-moz-range-thumb { width: 1.75rem; height: 1.75rem; border-radius: 50%; background: white; border: 0.1875rem solid var(--accent); cursor: pointer; }
.slider-ends { display: flex; justify-content: space-between; font-size: 0.75rem; color: var(--text-tertiary); font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 1.25rem; }

.insight { background: var(--accent-subtle); border-radius: var(--radius-lg); padding: 1.5rem; margin-bottom: 1.25rem; }
.insight-lbl { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent); margin-bottom: 0.625rem; }
.insight-txt { font-size: 1.0625rem; color: var(--text-secondary); line-height: 1.5; font-weight: 500; }
.insight-txt strong { color: var(--text-primary); font-weight: 700; }
