/* TTWC Saharan Dust calendar. On-page chrome inherits the theme's text colour
   (the site's dark mode is a theme CSS-class toggle, not OS), so links/labels
   stay legible in both modes; white card surfaces keep fixed dark text. */
.ttwc-sd { --sd-card-ink:#1d2733; --sd-card-mut:#5a6b7b; --sd-line:#e3e8ee; --sd-card-bg:#fff;
	--sd-accent:#2f6f8f; color:inherit; max-width:980px; margin:0 auto; font-family:inherit; line-height:1.4; }
.ttwc-sd *{ box-sizing:border-box; }
.ttwc-sd a{ color:inherit; text-decoration:underline; }
.ttwc-sd a:hover{ text-decoration:none; }
.ttwc-sd-loading,.ttwc-sd-empty{ padding:1.4rem; opacity:.7; text-align:center; }

.ttwc-sd-header{ display:flex; align-items:flex-start; justify-content:space-between; gap:1rem;
	border-bottom:2px solid currentColor; padding-bottom:.5rem; margin-bottom:.9rem; }
.ttwc-sd-headtext{ min-width:0; }
.ttwc-sd-logo{ flex:none; height:50px; width:auto; filter:drop-shadow(0 2px 5px rgba(0,0,0,.35)); }
.ttwc-sd-title{ margin:0; font-size:1.25rem; letter-spacing:.01em; color:inherit; }
.ttwc-sd-sub{ font-size:.8rem; opacity:.7; margin-top:.15rem; }

.ttwc-sd-top{ display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.ttwc-sd-controls{ display:flex; gap:.5rem; align-items:center; flex-wrap:wrap; }
.ttwc-sd-select{ padding:.55rem .6rem; border:1px solid var(--sd-line); border-radius:8px;
	font-size:.95rem; line-height:1.6; height:auto; background:var(--sd-card-bg); color:var(--sd-card-ink); min-width:200px; }
.ttwc-sd-geo{ padding:.5rem .7rem; border:1px solid var(--sd-line); border-radius:8px;
	background:#f5f8fb; cursor:pointer; font-size:.85rem; color:var(--sd-card-ink); }
.ttwc-sd-geo:hover{ background:#eaf1f8; }
.ttwc-sd-locator{ width:120px; height:90px; flex:none; }
.ttwc-sd-isle{ fill:#e7edf3; stroke:#b9c6d3; stroke-width:1; }
.ttwc-sd-isle.is-active{ fill:var(--sd-accent); stroke:#23566e; }

.ttwc-sd-area{ margin:.8rem 0 .5rem; font-size:.95rem; opacity:.75; }
.ttwc-sd-area b{ opacity:1; }
.ttwc-sd-isle-tag{ font-size:.8rem; }

.ttwc-sd-strip{ display:grid; grid-auto-flow:column; grid-auto-columns:minmax(120px,1fr);
	gap:.5rem; overflow-x:auto; padding-bottom:.3rem; }
.ttwc-sd-day{ border:1px solid var(--sd-line); border-radius:10px; padding:.6rem .55rem;
	cursor:pointer; background:var(--sd-card-bg); color:var(--sd-card-ink);
	transition:border-color .15s, box-shadow .15s; display:flex; flex-direction:column; gap:.4rem; min-height:128px; }
.ttwc-sd-day:hover{ border-color:var(--sd-accent); }
.ttwc-sd-day.is-open{ border-color:var(--sd-accent); box-shadow:0 0 0 2px rgba(47,111,143,.18); }
.ttwc-sd-day.is-tentative{ border-style:dashed; }
.ttwc-sd-day-head{ font-size:.82rem; color:var(--sd-card-mut); }
.ttwc-sd-day-head b{ font-size:1.1rem; color:var(--sd-card-ink); }
.ttwc-sd-bar{ display:flex; gap:3px; height:14px; }
.ttwc-sd-swatch{ display:inline-block; width:18px; height:14px; border-radius:3px; border:1px solid rgba(0,0,0,.12); }
.ttwc-sd-bar .ttwc-sd-swatch{ flex:1; }
.ttwc-sd-bar-na{ color:var(--sd-card-mut); }
.ttwc-sd-day-label{ font-weight:600; font-size:.9rem; }
.ttwc-sd-day-dom{ font-size:.72rem; color:var(--sd-card-mut); }
.ttwc-sd-tag{ font-size:.66rem; color:#8a5a00; background:#fff4dc; border-radius:4px; padding:1px 5px; align-self:flex-start; }

.ttwc-sd-detail{ margin-top:.8rem; border:1px solid var(--sd-line); border-left:4px solid var(--sd-accent);
	border-radius:8px; padding:.8rem .9rem; background:var(--sd-card-bg); color:var(--sd-card-ink); }
.ttwc-sd-detail-head{ font-weight:700; margin-bottom:.5rem; }
.ttwc-sd-prow{ display:flex; align-items:center; gap:.5rem; padding:.2rem 0; }
.ttwc-sd-dot{ width:12px; height:12px; border-radius:50%; border:1px solid rgba(0,0,0,.15); flex:none; }
.ttwc-sd-pname{ width:90px; font-size:.9rem; }
.ttwc-sd-pval{ font-weight:600; font-size:.9rem; }
.ttwc-sd-health{ font-size:.85rem; margin-top:.6rem; color:var(--sd-card-ink); }

.ttwc-sd-hint{ font-size:.76rem; opacity:.6; margin:.5rem 0; }
.ttwc-sd-legend{ display:flex; gap:.8rem; flex-wrap:wrap; align-items:center; margin-top:.4rem;
	border-top:1px solid currentColor; padding-top:.6rem; }
.ttwc-sd-legend-item{ display:flex; align-items:center; gap:.3rem; font-size:.76rem; opacity:.8; }
.ttwc-sd-legend-link{ margin-left:auto; font-size:.78rem; white-space:nowrap; }
.ttwc-sd-safety{ margin:.6rem 0 .2rem; font-size:.9rem; font-weight:600; }
.ttwc-sd-foot{ margin-top:.8rem; }
.ttwc-sd-about{ font-size:.85rem; margin-bottom:.4rem; }
.ttwc-sd-disclaimer{ font-size:.72rem; opacity:.7; border-top:1px solid currentColor; padding-top:.5rem; }

@media (max-width:620px){
	.ttwc-sd-top{ flex-direction:column; align-items:stretch; }
	.ttwc-sd-locator{ align-self:center; }
	.ttwc-sd-select{ min-width:0; width:100%; }
	.ttwc-sd-strip{ grid-auto-columns:minmax(108px,1fr); }
}
