/**
 * 減らし目・増し目 均等配分計算ツール 固有スタイル
 * Stitch Distribution Calculator
 */

/* ========================================
   スケジュール表示
   ======================================== */
.schedule-display {
	padding: 16px;
	background: #faf5fc;
	border: 1px solid #e1bee7;
	border-radius: var(--radius);
	margin-bottom: 16px;
}

.schedule-text {
	font-size: 15px;
	font-weight: 600;
	color: #4A0072;
	line-height: 1.8;
	text-align: center;
	margin: 0;
}

/* ========================================
   検算ボックス
   ======================================== */
.verification-box {
	padding: 14px 16px;
	background: #e8f5e9;
	border: 1px solid #a5d6a7;
	border-radius: var(--radius);
	margin-bottom: 20px;
}

.verification-header {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 700;
	color: #2e7d32;
	margin-bottom: 8px;
}

.verification-check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #2e7d32;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	flex-shrink: 0;
}

.verification-text {
	font-size: 14px;
	color: #1b5e20;
	line-height: 1.6;
	margin: 0;
	font-family: var(--font-display);
}

/* ========================================
   ビジュアル配分バー
   ======================================== */
.distribution-bar-section {
	margin-top: 20px;
}

.distribution-bar {
	display: flex;
	gap: 2px;
	flex-wrap: wrap;
	padding: 12px;
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--radius);
	min-height: 40px;
	align-items: center;
}

.bar-segment {
	width: 12px;
	height: 28px;
	border-radius: 3px;
	flex-shrink: 0;
	transition: transform 0.15s;
}

.bar-segment:hover {
	transform: scaleY(1.2);
}

.bar-segment--a {
	background: linear-gradient(180deg, #9c27b0, #7B1FA2);
}

.bar-segment--b {
	background: linear-gradient(180deg, #ce93d8, #ab47bc);
}

.bar-truncated {
	font-size: 16px;
	color: var(--color-text-muted);
	padding: 0 4px;
	font-weight: 700;
}

.distribution-legend {
	display: flex;
	gap: 20px;
	margin-top: 10px;
	justify-content: center;
}

.legend-item {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	color: var(--color-text-secondary);
}

.legend-color {
	width: 14px;
	height: 14px;
	border-radius: 3px;
	flex-shrink: 0;
}

.legend-color--a {
	background: linear-gradient(180deg, #9c27b0, #7B1FA2);
}

.legend-color--b {
	background: linear-gradient(180deg, #ce93d8, #ab47bc);
}

/* ========================================
   エラーセクション
   ======================================== */
.error-section {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 16px 20px;
	background: #fff3e0;
	border: 1px solid #ffcc80;
	border-left: 4px solid #f57c00;
}

.error-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #f57c00;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	flex-shrink: 0;
}

.error-text {
	font-size: 14px;
	color: #e65100;
	line-height: 1.6;
	margin: 0;
}

/* ========================================
   詳細セクション
   ======================================== */
.detail-section {
	padding: 20px;
}

/* ========================================
   レスポンシブ
   ======================================== */
@media (max-width: 600px) {
	.schedule-text {
		font-size: 14px;
	}

	.bar-segment {
		width: 8px;
		height: 20px;
	}

	.distribution-legend {
		flex-direction: column;
		align-items: center;
		gap: 8px;
	}

	.verification-text {
		font-size: 13px;
	}
}
