/* FileName: /assets/css/tools/wind-analysis.css */

.windAnalysisRoot {
	display: grid;
	gap: 18px;
	color: var(--text);
}

.windAnalysisIntro {
	margin-bottom: 14px;
	padding: 18px 20px;
	border-radius: 14px;
	border: 1px solid var(--border);
	background: linear-gradient(180deg, var(--surface) 0%, var(--bg) 100%);
	color: var(--text);
	box-shadow: var(--shadow-md);
}

.windAnalysisIntroTitle {
	margin: 0 0 8px;
	font-size: 26px;
	line-height: 1.15;
	color: var(--text);
}

.windAnalysisIntroText {
	margin: 0;
	max-width: 1100px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--muted);
}

.windAnalysisUploader {
	display: grid;
	gap: 14px;
}

.windAnalysisForm {
	display: grid;
	gap: 10px;
}

.windAnalysisBar {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 14px;
	align-items: flex-end;
	padding: 12px 14px;
	border: 1px solid var(--border);
	border-radius: 12px;
	background: var(--surface);
	color: var(--text);
	box-shadow: var(--shadow-sm);
}

.windAnalysisBarBlock {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: flex-end;
}

.windAnalysisBarBlock--phys {
	flex: 1 1 auto;
	min-width: 0;
}

.windAnalysisBarBlock--map {
	flex: 0 0 auto;
}

.windAnalysisField {
	display: grid;
	gap: 5px;
}

.windAnalysisField--range {
	min-width: 260px;
}

.windAnalysisFieldLabel {
	font-size: 13px;
	font-weight: 600;
	color: inherit;
}

.windAnalysisBar .windAnalysisField {
	gap: 4px;
}

.windAnalysisBar .windAnalysisFieldLabel {
	font-size: 12px;
	line-height: 1.1;
	white-space: nowrap;
}

.windAnalysisField input[type="number"],
.windAnalysisField select {
	min-width: 92px;
	padding: 7px 9px;
	border: 1px solid var(--border);
	border-radius: 8px;
	background: var(--surface);
	color: var(--text);
}

.windAnalysisBar .windAnalysisField input[type="number"],
.windAnalysisBar .windAnalysisField select {
	padding: 6px 8px;
	font-size: 13px;
}

.windAnalysisBar .windAnalysisField input[type="number"] {
	min-width: 84px;
	width: 84px;
}

.windAnalysisBar .windAnalysisField select {
	min-width: 152px;
}

.windAnalysisField input[type="range"] {
	width: 220px;
}

.windAnalysisRangeValue {
	font-size: 12px;
	font-weight: 600;
	color: var(--muted);
}

.windAnalysisFieldHelp {
	font-size: 12px;
	color: var(--muted);
}

.windAnalysisActions {
	display: flex;
	align-items: center;
	margin-left: auto;
}

.windAnalysisBar .toolUploaderActions {
	margin-top: 0;
}

.windAnalysisActions .tooltip {
	display: inline-flex;
}

.windAnalysisActions .authSubmitButton {
	width: auto;
	max-width: none;
	padding: 9px 12px;
	font-size: 13px;
	line-height: 1.1;
	white-space: nowrap;
}

.windAnalysisHints {
	font-size: 12px;
	color: var(--muted);
}

.windAnalysisStatus {
	display: grid;
	gap: 8px;
}

.windAnalysisStatusText {
	font-size: 13px;
	color: var(--muted);
}

.windAnalysisError {
	padding: 12px 14px;
	border-left: 4px solid var(--danger);
	border-radius: 8px;
	background: var(--umerror);
	color: var(--text);
	font-size: 14px;
	box-shadow: var(--shadow-sm);
}

.windAnalysisGrid {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
	gap: 18px;
	align-items: start;
}

.windAnalysisCard {
	padding: 16px;
	border: 1px solid var(--border);
	border-radius: 14px;
	background: var(--surface);
	box-shadow: var(--shadow-md);
}

.windAnalysisCardTitle {
	margin: 0 0 12px;
	font-size: 22px;
	line-height: 1.15;
	color: var(--text);
}

.windAnalysisMap {
	width: 100%;
	height: 60vh;
	min-height: 320px;
	border: 1px solid var(--border);
	border-radius: 12px;
	background: linear-gradient(180deg, var(--bg) 0%, var(--surface) 100%);
}

.windAnalysisMapWrap {
	position: relative;
}

.windAnalysisOverlay {
	position: absolute;
	inset: 0;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 20px;
	border-radius: 12px;
	background: var(--cards);
	backdrop-filter: blur(2px);
	z-index: 400;
}

[data-windan-root="1"][data-windan-loading="1"] .windAnalysisOverlay {
	display: flex;
}

.windAnalysisOverlayContent {
	min-width: 280px;
	max-width: min(100%, 360px);
	padding: 22px 20px;
	border: 1px solid var(--border);
	border-radius: 12px;
	background: var(--surface);
	color: var(--text);
	text-align: center;
	box-shadow: var(--shadow-md);
}

.windAnalysisSpinner {
	width: 42px;
	height: 42px;
	margin: 0 auto 14px;
	border: 4px solid var(--border);
	border-top-color: var(--primary);
	border-radius: 50%;
	animation: windAnalysisSpin 1s linear infinite;
}

.windAnalysisOverlayTitle {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.15;
}

.windAnalysisOverlayText {
	margin: 8px 0 0;
	font-size: 13px;
	line-height: 1.45;
	color: var(--muted);
}

@keyframes windAnalysisSpin {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

.windAnalysisControls {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 14px;
}

.windAnalysisControls--charts {
	margin-top: 0;
}

.windAnalysisCharts {
	display: grid;
	gap: 12px;
	margin-top: 12px;
}

.windAnalysisChartWrap {
	height: 30vh;
	min-height: 210px;
}

.windAnalysisChartWrap canvas {
	width: 100% !important;
	height: 100% !important;
	display: block;
}

.windAnalysisNote {
	margin: 12px 0 0;
	font-size: 12px;
	line-height: 1.45;
	color: var(--muted);
}

@media (max-width: 1120px) {
	.windAnalysisGrid {
		grid-template-columns: 1fr;
	}

	.windAnalysisMap {
		height: 50vh;
	}

	.windAnalysisChartWrap {
		height: 28vh;
	}
}

@media (max-width: 720px) {
	.windAnalysisIntro {
		padding: 16px;
	}

	.windAnalysisIntroTitle {
		font-size: 23px;
	}

	.windAnalysisBar {
		padding: 12px;
	}

	.windAnalysisBarBlock--phys,
	.windAnalysisBarBlock--map,
	.windAnalysisActions {
		width: 100%;
	}

	.windAnalysisActions {
		margin-left: 0;
	}

	.windAnalysisActions .tooltip,
	.windAnalysisActions .authSubmitButton {
		width: 100%;
	}

	.windAnalysisField--range {
		min-width: 0;
	}

	.windAnalysisField input[type="range"] {
		width: 100%;
	}

	.windAnalysisMap {
		height: 44vh;
		min-height: 280px;
	}

	.windAnalysisOverlay {
		padding: 14px;
	}

	.windAnalysisOverlayContent {
		min-width: 0;
		width: 100%;
		padding: 18px 16px;
	}

	.windAnalysisChartWrap {
		height: 240px;
	}
}
