/* Tempestorm — ľadová téma (light + dark cez data-bs-theme) */

:root {
	--ts-ice-50:  #f3f9fc;
	--ts-ice-100: #e3f1f8;
	--ts-ice-200: #c7e4f1;
	--ts-ice-300: #9ed3e8;
	--ts-ice-400: #5bb6d6;
	--ts-ice-500: #1f97c2;   /* primary */
	--ts-ice-600: #137ba3;
	--ts-ice-700: #0e6184;

	--ts-ok: #1f9d57;
	--ts-alarm: #d63b3b;
	--ts-nodata: #7c8b95;
}

/* ---------- LIGHT (mrazivá biela) ---------- */
[data-bs-theme="light"] {
	--bs-primary: var(--ts-ice-500);
	--bs-primary-rgb: 31, 151, 194;
	--bs-body-bg: var(--ts-ice-50);
	--bs-body-color: #163042;
	--bs-link-color: var(--ts-ice-600);
	--bs-link-hover-color: var(--ts-ice-700);
	--bs-border-color: #d6e6ef;
	--ts-card-header-bg: #eaf4fa;
}
[data-bs-theme="light"] body {
	background:
		radial-gradient(1200px 520px at 82% -12%, #e6f4fb 0%, rgba(230,244,251,0) 60%),
		linear-gradient(180deg, #f6fbfd 0%, #eef6fa 100%);
	background-attachment: fixed;
}

/* ---------- DARK (mraznička v noci) ---------- */
[data-bs-theme="dark"] {
	--bs-primary: #3fb9e6;
	--bs-primary-rgb: 63, 185, 230;
	--bs-body-bg: #0a1620;
	--bs-body-color: #cfe1ec;
	--bs-border-color: #1d3344;
	--bs-emphasis-color: #eaf6fb;
	--ts-ok: #34c47a;
	--ts-alarm: #ff5c5c;
	--ts-nodata: #8aa0ad;
	--ts-card-header-bg: #11212e;
}
[data-bs-theme="dark"] body {
	background:
		radial-gradient(1000px 480px at 85% -14%, #102838 0%, rgba(16,40,56,0) 60%),
		linear-gradient(180deg, #0b1924 0%, #081019 100%);
	background-attachment: fixed;
}

/* ---------- navbar ---------- */
.ts-navbar {
	background: linear-gradient(135deg, var(--ts-ice-600), var(--ts-ice-700));
	box-shadow: 0 2px 16px rgba(8, 44, 62, .20);
}
[data-bs-theme="dark"] .ts-navbar {
	background: linear-gradient(135deg, #0d2030, #0a1620);
	border-bottom: 1px solid #1d3344;
}
.ts-navbar .navbar-brand,
.ts-navbar .nav-link { color: #eaf6fb; }
.ts-navbar .nav-link:hover,
.ts-navbar .nav-link.active { color: #fff; }
.ts-navbar .nav-link.active { font-weight: 600; }
.ts-brand-flake { color: #bfe9f7; }

/* ---------- karty / dashboard ---------- */
.ts-card {
	border: 1px solid var(--bs-border-color);
	border-top: 4px solid var(--ts-nodata);
	border-radius: 16px;
	transition: transform .12s ease, box-shadow .12s ease;
}
.ts-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(12, 60, 85, .14); }
.ts-card.is-ok { border-top-color: var(--ts-ok); }
.ts-card.is-alarm { border-top-color: var(--ts-alarm); }
.ts-card.is-nodata { border-top-color: var(--ts-nodata); }

.ts-temp { font-size: 2.5rem; font-weight: 700; line-height: 1; letter-spacing: -.02em; }
.ts-card.is-ok .ts-temp { color: var(--ts-ok); }
.ts-card.is-alarm .ts-temp { color: var(--ts-alarm); }
.ts-unit { font-size: 1.1rem; font-weight: 600; opacity: .75; }

.ts-pill {
	font-size: .68rem; font-weight: 700; letter-spacing: .04em;
	padding: .18rem .5rem; border-radius: 999px; color: #fff;
}
.ts-pill-ok { background: var(--ts-ok); }
.ts-pill-alarm { background: var(--ts-alarm); }
.ts-pill-nodata { background: var(--ts-nodata); }

/* ---------- card header (ľadový nádych) ---------- */
.card-header { background: var(--ts-card-header-bg); border-bottom: 1px solid var(--bs-border-color); }
.card { border-radius: 14px; }

/* ---------- token ---------- */
#ts-token { font-size: 1rem; word-break: break-all; }
