:root {
	--bg:#f6f1eb;
	--panel:#fff;
	--panel-soft:#f3eadf;
	--text:#24164b;
	--muted:#6b5f86;
	--line:#d8cfe0;
	--primary:#3f1685;
	--primary-dark:#2f0f68;
	--primary-soft:#efe8fb;
	--secondary:#ff6a00;
	--secondary-dark:#d95a00;
	--secondary-soft:#fff0e5;
	--support:#d7bea9;
	--support-dark:#b99f89;
	--support-soft:#f5ebe3;
	--success:#8b6f58;
	--success-soft:#f2ebff;
	--white:#fff;
	--shadow:0 14px 34px rgba(63,22,133,0.10);
	--shadow-soft:0 8px 20px rgba(63,22,133,0.07);
	--radius:18px;
	--radius-lg:24px;
}
/** { box-sizing:border-box; }
body {
	margin:0;
	min-height:100vh;
	background:
		radial-gradient(circle at top right, rgba(255,106,0,0.08), transparent 28%),
		linear-gradient(180deg, #f8f3ee 0%, #f4ede6 100%);
	color:var(--text);
	font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
#contentContainer { margin:0 auto; padding:40px 20px 56px; }
.hero { margin-bottom:18px; }*/
/*.eyebrow {
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:8px 12px;
	border-radius:999px;
	background:var(--primary-soft);
	color:var(--primary);
	border:1px solid #ddd0f7;
	font-size:13px;
	font-weight:700;
	letter-spacing:-0.02em;
	text-shadow:none;
}*/
.mini-card h3,
.overview-card h4 { color:var(--text); letter-spacing:-0.02em; font-weight:700; }
/*h1 { margin:14px 0 12px; font-size:clamp(1.6rem, 5vw, 2rem); line-height:1.06; }
.subtitle,*/
.question-help,
.mini-card p,
.progress-text,
.summary-item span,
.overview-card p,
#storageInfoText,
#storageConfirmationText { color:var(--muted); line-height:1.65; font-size:15px; }
/*.subtitle { margin:0; }*/
.card,
.mini-card,
.overview-card {
	background:var(--panel);
	border:1px solid #e8deef;
	border-radius:var(--radius-lg);
	box-shadow:var(--shadow);
}
.card { padding:26px; }
.mini-card,
.overview-card { box-shadow:var(--shadow-soft); }
.stepper-wrap { margin-bottom:22px; position:sticky; top:14px; z-index:5; backdrop-filter:none; }
.stepper {
	position:relative;
	display:grid;
	grid-template-columns:repeat(8, 1fr);
	gap:10px;
	align-items:start;
	padding:14px 14px 10px;
	background:linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(250,246,255,0.96) 100%);
	border:1px solid #e5daf0;
	border-radius:22px;
	box-shadow:var(--shadow-soft);
}
.stepper::before {
	content:"";
	position:absolute;
	left:48px;
	right:48px;
	top:35px;
	height:3px;
	background:linear-gradient(90deg, #d8cce8 0%, #d7bea9 100%);
	z-index:0;
	transform:translateY(-50%);
}
.step {
	position:relative;
	z-index:1;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:flex-start;
	gap:8px;
	margin:0;
	padding:0;
	min-height:74px;
	background:transparent;
	border:none;
	cursor:default;
}
.step.done,
.step.available { cursor:pointer; }
.step-circle {
	width:42px;
	height:42px;
	display:grid;
	place-items:center;
	border-radius:999px;
	border:2px solid #d8cce8;
	background:var(--white);
	color:#826ea8;
	font-size:15px;
	font-weight:700;
	transition:transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
}
.step-label {
	display:flex;
	align-items:flex-start;
	justify-content:center;
	min-height:30px;
	max-width:90px;
	font-size:12px;
	line-height:1.2;
	text-align:center;
	color:#6d5f85;
	font-weight:600;
}
.step.available .step-circle { border-color:#bca6e8; color:var(--primary); background:var(--white); }
.step.done .step-circle { background:var(--support-soft); border-color:#dbc2ad; color:#8b6f58; }
.step.done .step-label,
.step.available .step-label,
.step.current .step-label { color:var(--text); }
.step.available:hover .step-circle,
.step.done:hover .step-circle { transform:translateY(-1px) scale(1.04); border-color:var(--secondary); box-shadow:0 0 0 6px rgba(255,106,0,0.12); }
.step.available:hover .step-label,
.step.done:hover .step-label { color:var(--primary); }
.step.current .step-circle {
	background:var(--primary);
	border-color:var(--primary);
	color:var(--white);
	box-shadow:0 0 0 8px rgba(63,22,133,0.14);
	transform:scale(1.03);
	text-shadow:none;
}
.step.locked { opacity:0.46; }
.content { display:grid; grid-template-columns:1.15fr 0.85fr; gap:22px; align-items:start; }
.question-panel {
	min-height:470px;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	background:linear-gradient(180deg, var(--white) 0%, #fffdfa 100%);
}
.question-meta { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.badge {
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:8px 12px;
	border-radius:999px;
	background:var(--secondary-soft);
	color:var(--secondary-dark);
	border:1px solid #ffd3b6;
	font-size:13px;
	font-weight:700;
	text-shadow:none;
}
.progress-text { font-size:14px; font-weight:600; }
.question-title { margin:0 0 10px; font-size:clamp(1.2rem, 5vw, 1.6rem); line-height:1.15; }
.question-help { margin:0 0 24px; }
.option-grid,
.multi-list,
.summary-list,
.overview-grid { display:grid; }
.option-grid { gap:14px; }
.multi-list { gap:12px; }
.summary-list { gap:10px; margin-top:14px; }
.overview-grid { gap:14px; margin-top:24px; }
.option-card,
.check-row {
	background:var(--white);
	border:1px solid #e2d7e8;
	box-shadow:none;
	transition:border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
.option-card {
	width:100%;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:14px;
	padding:18px;
	border-radius:16px;
	text-align:left;
	cursor:pointer;
}
.check-row {
	display:flex;
	align-items:center;
	gap:14px;
	padding:16px 18px;
	border-radius:18px;
	cursor:pointer;
}
.option-card:hover,
.check-row:hover { transform:none; border-color:#c9b3ef; box-shadow:0 6px 16px rgba(63,22,133,0.06); }
.option-card.selected,
.check-row.selected { border-color:var(--primary); background:linear-gradient(180deg, #f6f0ff 0%, #f2ebff 100%); box-shadow:0 8px 18px rgba(63,22,133,0.09); }
.option-title { color:var(--text); font-size:16px; font-weight:700; }
.option-sub { margin-top:4px; color:var(--muted); font-size:13px; }
.option-icon {
	min-width:38px;
	width:38px;
	height:38px;
	display:grid;
	place-items:center;
	border-radius:999px;
	border:1px solid #d9cfe3;
	background:var(--white);
	color:#94a3b8;
	font-weight:900;
}
.option-card.selected .option-icon { border-color:var(--secondary); color:var(--secondary); background:var(--white); }
.checkbox {
	width:22px;
	height:22px;
	display:grid;
	place-items:center;
	border-radius:7px;
	border:2px solid #d9cfe3;
	background:var(--white);
	color:transparent;
	font-size:14px;
	font-weight:900;
}
.check-row.selected .checkbox { border-color:var(--secondary); color:var(--secondary); background:var(--white); }
.actions {
	display:flex;
	justify-content:space-between;
	gap:14px;
	margin-top:28px;
	padding-top:22px;
	border-top:1px solid #eee2f1;
}
.btn {
	display:inline-flex;
	align-items:center;
	gap:10px;
	padding:14px 18px;
	border-radius:14px;
	font-size:15px;
	font-weight:700;
	cursor:pointer;
	transition:0.18s ease;
	box-shadow:none;
}
.btn:disabled { cursor:not-allowed; opacity:0.48; transform:none !important; }
.btn-primary {
	background:var(--secondary);
	color:var(--white);
	border:1px solid var(--secondary);
	text-shadow:none;
}
.btn-primary:hover:not(:disabled) { background:var(--secondary-dark); border-color:var(--secondary-dark); transform:none; }
.btn-secondary { background:#fff7f1; color:var(--text); border:1px solid #ead6c4; }
.btn-secondary:hover:not(:disabled) { background:#f9ecdf; transform:none; }
.side-panel { display:grid; gap:18px; }
.mini-card { padding:20px; background:linear-gradient(180deg, var(--white) 0%, #fffaf6 100%); border:1px solid #eadff0; }
.mini-card h3 { margin:0 0 12px; font-size:17px; }
.mini-card p { margin:0; font-size:14px; }
.summary-item {
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:12px;
	padding:12px 14px;
	border-radius:16px;
	background:linear-gradient(180deg, #fff 0%, #fcf8ff 100%);
	border:1px solid #ece2f2;
}
.summary-item strong,
.overview-card strong {
	color:var(--text);
	display:block;
	font-size:14px;
	margin-bottom:3px;
}
.summary-item span { font-size:13px; line-height:1.4; }
.pill {
	flex-shrink:0;
	max-width:46%;
	padding:7px 10px;
	border-radius:999px;
	background:#fffaf4;
	border:1px solid #ead9c8;
	color:#7a654e;
	font-size:12px;
	font-weight:700;
	text-align:right;
}
#storageInfoCard { background:linear-gradient(180deg, #f7f0ff 0%, #fff7f1 100%); border:1px solid #e7d9f7; }
.overview { display:none; background:linear-gradient(180deg, #fffdfa 0%, #fffaf5 100%); }
.overview.active { display:block; }
.overview-card {
	padding:18px;
	border:1px solid #eadff0;
	border-radius:18px;
	background:var(--white);
}
.overview-card h4 { margin:0 0 8px; font-size:16px; }
.overview-card p { margin:0; }
#storageConfirmationText {
	margin:18px 0 0;
	padding:14px 16px;
	border-radius:14px;
	background:linear-gradient(180deg, #fff1e6 0%, #ffefe2 100%);
	color:#8d460e;
	border:1px solid #ffd5b8;
	font-size:14px;
	line-height:1.6;
}
.hidden { display:none !important; }
@media (max-width:860px) {
	.content { grid-template-columns:1fr; }
	.question-panel { min-height:auto; }
	.stepper {
		grid-template-columns:repeat(8, minmax(92px, 1fr));
		overflow-x:auto;
		padding:14px 14px 10px;
	}
	.stepper::before { left:50px; right:50px; top:35px; }
	.card,
	.mini-card,
	.overview-card { border-radius:18px; }
	h1 { font-size:clamp(1.4rem, 5vw, 1.8rem); }
	.question-title { font-size:clamp(1.1rem, 5vw, 1.5rem); }
	.subtitle,
	.question-help,
	.mini-card p,
	.progress-text,
	.summary-item span,
	.overview-card p,
	#storageInfoText,
	#storageConfirmationText { font-size:14px; }
}