.sds-app,
.sds-app * {
  box-sizing: border-box;
}

.sds-app {
  --sds-navy-950: #06101f;
  --sds-navy-900: #0a172b;
  --sds-navy-850: #0d1d35;
  --sds-navy-800: #112541;
  --sds-text: #eef7ff;
  --sds-muted: #9fb3ca;
  --sds-line: rgba(169, 207, 240, 0.16);
  --sds-blue: #25c9ff;
  --sds-indigo: #6c7dff;
  --sds-green: #62e7bd;
  --sds-yellow: #ffd168;
  --sds-red: #ff6f91;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  width: 100%;
  min-height: 760px;
  padding: clamp(52px, 7vw, 96px) 22px;
  color: var(--sds-text);
  background:
    radial-gradient(circle at 12% 15%, rgba(37, 201, 255, 0.14), transparent 30%),
    radial-gradient(circle at 86% 18%, rgba(108, 125, 255, 0.18), transparent 29%),
    radial-gradient(circle at 58% 100%, rgba(48, 215, 190, 0.08), transparent 34%),
    linear-gradient(150deg, #071321 0%, #0b1930 48%, #07111f 100%);
  font-family: Inter, "Plus Jakarta Sans", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
  word-break: normal;
  overflow-wrap: normal;
}

.sds-app::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: 0.38;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to bottom, black, transparent 82%);
}

.sds-app button,
.sds-app input,
.sds-app summary {
  font: inherit;
}

.sds-app button,
.sds-app summary,
.sds-app label {
  -webkit-tap-highlight-color: transparent;
}

.sds-app button:focus-visible,
.sds-app input:focus-visible,
.sds-app summary:focus-visible {
  outline: 3px solid rgba(37, 201, 255, 0.48);
  outline-offset: 3px;
}

.sds-atmosphere {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}

.sds-atmosphere span {
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 14px rgba(255,255,255,.72);
  opacity: .5;
  animation: sdsFloat 8s ease-in-out infinite;
}

.sds-atmosphere span:nth-child(1) { left: 7%; top: 18%; animation-delay: -2s; }
.sds-atmosphere span:nth-child(2) { left: 21%; top: 72%; width: 3px; height: 3px; animation-delay: -5s; }
.sds-atmosphere span:nth-child(3) { right: 17%; top: 23%; width: 4px; height: 4px; animation-delay: -1s; }
.sds-atmosphere span:nth-child(4) { right: 8%; top: 65%; animation-delay: -7s; }
.sds-atmosphere span:nth-child(5) { left: 42%; top: 12%; width: 3px; height: 3px; animation-delay: -4s; }
.sds-atmosphere span:nth-child(6) { left: 68%; top: 82%; width: 4px; height: 4px; animation-delay: -3s; }

@keyframes sdsFloat {
  0%, 100% { transform: translate3d(0, 0, 0); opacity: .28; }
  50% { transform: translate3d(8px, -18px, 0); opacity: .72; }
}

.sds-shell {
  width: min(1160px, 100%);
  margin: 0 auto;
}

.sds-hero {
  max-width: 840px;
  margin: 0 auto clamp(30px, 4vw, 48px);
  text-align: center;
}

.sds-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 20px;
  padding: 8px 13px;
  border: 1px solid rgba(98, 231, 189, .2);
  border-radius: 999px;
  background: rgba(98, 231, 189, .08);
  color: #bff7e6;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.sds-live-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--sds-green);
  box-shadow: 0 0 0 5px rgba(98, 231, 189, .12);
  animation: sdsPulse 2s ease-in-out infinite;
}

@keyframes sdsPulse {
  0%, 100% { box-shadow: 0 0 0 4px rgba(98, 231, 189, .11); }
  50% { box-shadow: 0 0 0 8px rgba(98, 231, 189, .02); }
}

.sds-hero h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(39px, 6.3vw, 76px);
  font-weight: 800;
  line-height: 1.02;
  letter-spacing: -.048em;
  text-wrap: balance;
}

.sds-hero h1::after {
  content: "";
  display: block;
  width: 88px;
  height: 4px;
  margin: 25px auto 21px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--sds-blue), var(--sds-indigo));
  box-shadow: 0 0 24px rgba(37, 201, 255, .4);
}

.sds-hero > p {
  max-width: 720px;
  margin: 0 auto;
  color: #b8c9dc;
  font-size: clamp(16px, 2vw, 20px);
  line-height: 1.65;
  text-wrap: balance;
}

.sds-trust-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 9px;
  margin-top: 23px;
}

.sds-trust-row span {
  padding: 7px 11px;
  border: 1px solid var(--sds-line);
  border-radius: 999px;
  color: #c8d7e6;
  background: rgba(255,255,255,.035);
  font-size: 12px;
  font-weight: 650;
}

.sds-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(330px, .92fr);
  gap: clamp(24px, 4vw, 48px);
  padding: clamp(22px, 4vw, 44px);
  border: 1px solid rgba(174, 207, 235, .17);
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(17, 37, 65, .93), rgba(8, 23, 43, .9));
  box-shadow: 0 30px 90px rgba(0, 0, 0, .36), inset 0 1px 0 rgba(255,255,255,.055);
  backdrop-filter: blur(20px);
}

.sds-panel.has-result .sds-idle-visual {
  opacity: .72;
}

.sds-form {
  align-self: center;
  min-width: 0;
}

.sds-field-group > label,
.sds-fieldset legend {
  display: block;
  margin: 0 0 11px;
  color: #eaf4ff;
  font-size: 14px;
  font-weight: 750;
  letter-spacing: .01em;
}

.sds-search-wrap {
  position: relative;
}

.sds-location {
  width: 100%;
  min-height: 62px;
  padding: 0 92px 0 52px !important;
  border: 1px solid rgba(188, 216, 241, .2) !important;
  border-radius: 16px !important;
  outline: none;
  color: #f7fbff !important;
  background: rgba(5, 16, 31, .72) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 10px 30px rgba(0,0,0,.12) !important;
  font-size: 16px !important;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.sds-location::placeholder {
  color: #7f96ae;
  opacity: 1;
}

.sds-location:focus {
  border-color: rgba(37, 201, 255, .72) !important;
  box-shadow: 0 0 0 4px rgba(37, 201, 255, .1), 0 12px 34px rgba(0,0,0,.18) !important;
}

.sds-search-icon {
  position: absolute;
  top: 50%;
  left: 18px;
  z-index: 2;
  width: 21px;
  height: 21px;
  transform: translateY(-50%);
  color: var(--sds-blue);
  pointer-events: none;
}

.sds-search-icon svg {
  width: 100%;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-width: 1.8;
}

.sds-clear-search {
  position: absolute;
  top: 50%;
  right: 52px;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: #b8c9dc;
  background: rgba(255,255,255,.07);
  transform: translateY(-50%);
  cursor: pointer;
}

.sds-geolocate {
  position: absolute;
  top: 50%;
  right: 13px;
  width: 34px;
  height: 34px;
  padding: 8px;
  border: 0;
  border-radius: 50%;
  color: var(--sds-blue);
  background: rgba(37, 201, 255, .12);
  transform: translateY(-50%);
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}

.sds-geolocate svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-width: 1.8;
}

.sds-geolocate:hover,
.sds-geolocate:focus-visible {
  background: var(--sds-blue);
  color: #06101f;
}

.sds-suggestions {
  position: absolute;
  z-index: 20;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  margin: 0;
  padding: 6px;
  list-style: none;
  border: 1px solid var(--sds-line);
  border-radius: 14px;
  background: var(--sds-navy-850);
  box-shadow: 0 18px 40px rgba(0,0,0,.35);
  max-height: 260px;
  overflow-y: auto;
}

.sds-suggestions li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 9px;
  color: #dce9f4;
  font-size: 14px;
  cursor: pointer;
}

.sds-suggestions li:hover,
.sds-suggestions li.is-active {
  background: rgba(37, 201, 255, .14);
}

.sds-suggest-flag {
  font-size: 13px;
}

.sds-field-hint {
  margin: 9px 2px 0;
  color: #849ab1;
  font-size: 12px;
}

.sds-fieldset {
  min-width: 0;
  margin: 24px 0 0;
  padding: 0;
  border: 0;
}

.sds-choice-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.sds-choice {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 10px;
  min-height: 72px;
  padding: 12px;
  border: 1px solid rgba(180, 210, 237, .14);
  border-radius: 14px;
  color: #c1d1e1;
  background: rgba(6, 17, 33, .46);
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.sds-choice:hover {
  transform: translateY(-2px);
  border-color: rgba(37, 201, 255, .34);
}

.sds-choice.is-selected {
  border-color: rgba(37, 201, 255, .78);
  background: linear-gradient(145deg, rgba(37, 201, 255, .13), rgba(108, 125, 255, .09));
  box-shadow: inset 0 0 0 1px rgba(37, 201, 255, .11), 0 10px 30px rgba(0,0,0,.12);
}

.sds-choice input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.sds-choice-icon {
  display: grid;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 10px;
  color: var(--sds-blue);
  background: rgba(37, 201, 255, .09);
  font-size: 19px;
  font-weight: 700;
}

.sds-choice > span:last-child {
  min-width: 0;
}

.sds-choice strong,
.sds-choice small {
  display: block;
  white-space: nowrap;
}

.sds-choice strong {
  color: #edf6ff;
  font-size: 13px;
}

.sds-choice small {
  margin-top: 2px;
  overflow: hidden;
  color: #8198b0;
  font-size: 10px;
  text-overflow: ellipsis;
}

.sds-advanced {
  margin-top: 15px;
  border: 1px solid rgba(180, 210, 237, .13);
  border-radius: 14px;
  background: rgba(6, 17, 33, .38);
}

.sds-advanced summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 59px;
  padding: 12px 15px;
  list-style: none;
  cursor: pointer;
}

.sds-advanced summary::-webkit-details-marker { display: none; }
.sds-advanced summary strong,
.sds-advanced summary small { display: block; }
.sds-advanced summary strong { color: #dfeeff; font-size: 13px; }
.sds-advanced summary small { margin-top: 2px; color: #7f96ae; font-size: 10px; }

.sds-chevron {
  flex: 0 0 10px;
  width: 10px;
  height: 10px;
  border-right: 2px solid #8fa6bd;
  border-bottom: 2px solid #8fa6bd;
  transform: rotate(45deg) translateY(-3px);
  transition: transform .2s ease;
}

.sds-advanced[open] .sds-chevron { transform: rotate(225deg) translate(-2px, -1px); }

.sds-advanced-body {
  display: grid;
  gap: 14px;
  padding: 4px 15px 16px;
}

.sds-advanced-field {
  display: grid;
  grid-template-columns: 108px 1fr;
  align-items: center;
  gap: 12px;
}

.sds-mini-label {
  color: #a8bbcf;
  font-size: 11px;
  font-weight: 700;
}

.sds-segmented {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px;
  padding: 4px;
  border-radius: 10px;
  background: rgba(3, 12, 25, .62);
}

.sds-segmented button {
  min-height: 32px;
  padding: 5px;
  border: 0;
  border-radius: 7px;
  color: #8da3ba;
  background: transparent;
  font-size: 10px;
  font-weight: 700;
  cursor: pointer;
}

.sds-segmented button.is-active {
  color: #eefdff;
  background: rgba(37, 201, 255, .16);
  box-shadow: inset 0 0 0 1px rgba(37, 201, 255, .18);
}

.sds-submit {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 60px;
  gap: 12px;
  margin-top: 17px;
  padding: 12px 22px;
  overflow: hidden;
  border: 0;
  border-radius: 15px;
  color: #041421;
  background: linear-gradient(100deg, #54e1f5, #64edc2);
  box-shadow: 0 15px 38px rgba(37, 201, 255, .2), inset 0 1px 0 rgba(255,255,255,.6);
  font-size: 15px;
  font-weight: 800;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.sds-submit::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 20%, rgba(255,255,255,.35) 45%, transparent 70%);
  transform: translateX(-120%);
  transition: transform .6s ease;
}

.sds-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 45px rgba(37, 201, 255, .28), inset 0 1px 0 rgba(255,255,255,.6);
}

.sds-submit:hover::before { transform: translateX(120%); }
.sds-submit:disabled { cursor: wait; opacity: .75; }
.sds-button-arrow { font-size: 20px; transition: transform .2s ease; }
.sds-submit:hover .sds-button-arrow { transform: translateX(4px); }

.sds-spinner {
  display: none;
  width: 20px;
  height: 20px;
  border: 2px solid rgba(4, 20, 33, .22);
  border-top-color: #041421;
  border-radius: 50%;
  animation: sdsSpin .72s linear infinite;
}

.sds-submit.is-loading .sds-spinner { display: block; }
.sds-submit.is-loading .sds-button-arrow { display: none; }
@keyframes sdsSpin { to { transform: rotate(360deg); } }

.sds-form-message {
  min-height: 20px;
  margin-top: 9px;
  color: #ffc0d0;
  font-size: 12px;
  text-align: center;
}

.sds-idle-visual {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  min-height: 430px;
  padding: 40px;
  overflow: hidden;
  border: 1px solid rgba(177, 211, 240, .12);
  border-radius: 23px;
  background:
    radial-gradient(circle at 50% 44%, rgba(37, 201, 255, .16), transparent 27%),
    linear-gradient(150deg, rgba(37, 201, 255, .055), rgba(108, 125, 255, .035));
  text-align: center;
}

.sds-idle-visual::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 38%;
  background: linear-gradient(to top, rgba(13, 36, 61, .72), transparent);
  clip-path: polygon(0 70%, 13% 42%, 22% 58%, 35% 27%, 48% 61%, 62% 32%, 76% 55%, 90% 25%, 100% 50%, 100% 100%, 0 100%);
}

.sds-orbit {
  position: absolute;
  top: 46%;
  left: 50%;
  border: 1px solid rgba(85, 213, 255, .16);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.sds-orbit-one { width: 250px; height: 250px; animation: sdsOrbit 16s linear infinite; }
.sds-orbit-two { width: 330px; height: 330px; border-style: dashed; animation: sdsOrbit 24s linear reverse infinite; }
.sds-orbit::before {
  content: "";
  position: absolute;
  top: -4px;
  left: 50%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--sds-blue);
  box-shadow: 0 0 18px var(--sds-blue);
}
@keyframes sdsOrbit { to { transform: translate(-50%, -50%) rotate(360deg); } }

.sds-cloud-mark {
  position: relative;
  z-index: 1;
  display: grid;
  width: 112px;
  height: 112px;
  margin-bottom: 30px;
  place-items: center;
  border: 1px solid rgba(147, 219, 255, .24);
  border-radius: 34px;
  color: #8fe7ff;
  background: linear-gradient(145deg, rgba(37, 201, 255, .18), rgba(108, 125, 255, .12));
  box-shadow: 0 22px 60px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.12);
  font-size: 53px;
  transform: rotate(-4deg);
}

.sds-idle-visual strong,
.sds-idle-visual span {
  position: relative;
  z-index: 2;
}

.sds-idle-visual strong {
  color: #f2f8ff;
  font-size: 20px;
}

.sds-idle-visual > span {
  max-width: 315px;
  margin-top: 9px;
  color: #8fa6bd;
  font-size: 12px;
  line-height: 1.65;
}

.sds-results {
  scroll-margin-top: 24px;
  margin-top: 28px;
}

.sds-results[hidden] { display: none !important; }

.sds-result-card {
  overflow: hidden;
  border: 1px solid rgba(174, 207, 235, .17);
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(15, 34, 59, .98), rgba(7, 21, 39, .98));
  box-shadow: 0 32px 90px rgba(0,0,0,.34);
  animation: sdsReveal .5s ease both;
}

@keyframes sdsReveal {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}

.sds-result-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: clamp(21px, 4vw, 34px) clamp(22px, 4vw, 40px);
  border-bottom: 1px solid var(--sds-line);
  background: rgba(255,255,255,.018);
}

.sds-result-kicker {
  color: #8ee7ff;
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sds-result-topbar h2 {
  margin: 4px 0 0;
  color: #fff;
  font-size: clamp(25px, 4vw, 38px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -.03em;
}

.sds-result-topbar p {
  margin: 6px 0 0;
  color: #8fa6bd;
  font-size: 12px;
}

.sds-result-actions {
  display: flex;
  align-items: center;
  gap: 9px;
}

.sds-unit-toggle {
  display: flex;
  padding: 4px;
  border: 1px solid var(--sds-line);
  border-radius: 11px;
  background: rgba(3, 12, 24, .55);
}

.sds-unit-toggle button,
.sds-share {
  border: 0;
  color: #9db1c6;
  background: transparent;
  font-size: 11px;
  font-weight: 750;
  cursor: pointer;
}

.sds-unit-toggle button {
  min-width: 38px;
  min-height: 32px;
  border-radius: 8px;
}

.sds-unit-toggle button.is-active {
  color: #061522;
  background: var(--sds-blue);
}

.sds-share {
  min-height: 42px;
  padding: 0 15px;
  border: 1px solid var(--sds-line);
  border-radius: 11px;
  color: #d6e4f3;
  background: rgba(255,255,255,.04);
}

.sds-result-overview {
  display: grid;
  grid-template-columns: 330px 1fr;
  gap: clamp(24px, 5vw, 60px);
  padding: clamp(28px, 5vw, 52px) clamp(22px, 4vw, 44px);
}

.sds-gauge-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.sds-gauge {
  position: relative;
  width: min(260px, 100%);
  aspect-ratio: 1;
}

.sds-gauge svg {
  width: 100%;
  transform: rotate(-90deg);
  filter: drop-shadow(0 0 16px rgba(37, 201, 255, .16));
}

.sds-gauge circle {
  fill: none;
  stroke-width: 13;
}

.sds-gauge-track { stroke: rgba(163, 199, 231, .1); }
.sds-gauge-value {
  stroke: url(#sdsGaugeGradient);
  stroke-linecap: round;
  stroke-dasharray: var(--score) calc(100 - var(--score));
  animation: sdsGauge 1s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes sdsGauge { from { stroke-dasharray: 0 100; } }

.sds-gauge > div {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.sds-gauge strong {
  color: #fff;
  font-size: clamp(45px, 7vw, 68px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.06em;
}

.sds-gauge span {
  margin-top: 8px;
  color: #8ea5bc;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sds-status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  margin-top: 12px;
  padding: 6px 13px;
  border: 1px solid rgba(37, 201, 255, .2);
  border-radius: 999px;
  color: #a9eeff;
  background: rgba(37, 201, 255, .08);
  font-size: 11px;
  font-weight: 750;
}

.sds-tone-critical .sds-status-pill { border-color: rgba(255,111,145,.23); color: #ffb5c6; background: rgba(255,111,145,.08); }
.sds-tone-low .sds-status-pill { border-color: rgba(98,231,189,.23); color: #aff5df; background: rgba(98,231,189,.08); }

.sds-overview-content {
  display: flex;
  justify-content: center;
  flex-direction: column;
  min-width: 0;
}

.sds-score-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.sds-score-card {
  padding: 15px;
  border: 1px solid var(--sds-line);
  border-radius: 14px;
  background: rgba(3, 13, 26, .42);
}

.sds-score-card small,
.sds-score-card strong { display: block; }
.sds-score-card small { color: #8fa5ba; font-size: 10px; font-weight: 700; }
.sds-score-card strong { margin-top: 5px; color: #f5f9ff; font-size: 24px; line-height: 1; }
.sds-score-card > span {
  display: block;
  height: 4px;
  margin-top: 13px;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(255,255,255,.08);
}
.sds-score-card i { display: block; height: 100%; border-radius: inherit; background: #7285a2; }
.sds-score-card.is-main i { background: linear-gradient(90deg, var(--sds-blue), var(--sds-indigo)); }

.sds-explanation {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-top: 16px;
  padding: 17px;
  border: 1px solid rgba(37, 201, 255, .14);
  border-radius: 14px;
  background: linear-gradient(110deg, rgba(37,201,255,.08), rgba(108,125,255,.04));
}

.sds-explanation-icon {
  display: grid;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 10px;
  color: var(--sds-blue);
  background: rgba(37,201,255,.1);
}

.sds-explanation strong { color: #eaf5ff; font-size: 12px; }
.sds-explanation p { margin: 5px 0 0; color: #9db1c6; font-size: 12px; line-height: 1.65; }

.sds-confidence {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 7px 18px;
  margin-top: 16px;
  color: #8ea5bb;
  font-size: 10px;
}
.sds-confidence strong { color: #cfe0ef; font-size: 10px; }
.sds-confidence > div { grid-column: 1 / -1; height: 5px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.07); }
.sds-confidence i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--sds-green), var(--sds-blue)); }

.sds-section-block {
  padding: clamp(22px, 4vw, 36px) clamp(22px, 4vw, 40px);
  border-top: 1px solid var(--sds-line);
}

.sds-section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 19px;
}

.sds-section-heading span {
  color: #75daf6;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.sds-section-heading h3 {
  margin: 4px 0 0;
  color: #edf6ff;
  font-size: 18px;
  font-weight: 750;
  letter-spacing: -.015em;
}

.sds-section-heading > small { color: #8198af; font-size: 10px; }

.sds-metrics-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 9px;
}

.sds-metric {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 9px;
  padding: 13px 11px;
  border: 1px solid rgba(180, 211, 237, .11);
  border-radius: 12px;
  background: rgba(4, 14, 28, .37);
}

.sds-metric-icon {
  display: grid;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 8px;
  color: #83e4ff;
  background: rgba(37,201,255,.08);
  font-size: 13px;
}

.sds-metric small,
.sds-metric strong { display: block; }
.sds-metric small { color: #7f96ad; font-size: 8px; white-space: nowrap; }
.sds-metric strong { margin-top: 2px; color: #e9f3fc; font-size: 12px; white-space: nowrap; }

.sds-two-column {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  border-top: 1px solid var(--sds-line);
}
.sds-two-column .sds-section-block { border-top: 0; }
.sds-two-column .sds-section-block + .sds-section-block { border-left: 1px solid var(--sds-line); }

.sds-factors { display: grid; gap: 8px; }
.sds-factor {
  display: grid;
  grid-template-columns: 34px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 11px;
  border: 1px solid rgba(180, 211, 237, .1);
  border-radius: 11px;
  background: rgba(4, 14, 28, .34);
}
.sds-factor-icon { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 9px; color: #83e4ff; background: rgba(37,201,255,.08); }
.sds-factor strong,
.sds-factor small { display: block; }
.sds-factor strong { color: #dce9f5; font-size: 10px; }
.sds-factor small { margin-top: 2px; color: #7e95ac; font-size: 9px; }
.sds-factor i { padding: 4px 7px; border-radius: 99px; color: #99aec2; background: rgba(255,255,255,.05); font-size: 8px; font-style: normal; font-weight: 800; text-transform: uppercase; }
.sds-impact-high i { color: #ffc0cf; background: rgba(255,111,145,.09); }
.sds-impact-low i { color: #b5f5e1; background: rgba(98,231,189,.08); }

.sds-outlook { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.sds-outlook-day {
  position: relative;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(180, 211, 237, .1);
  border-radius: 13px;
  background: rgba(4, 14, 28, .34);
}
.sds-outlook-day.is-primary { border-color: rgba(37,201,255,.24); background: rgba(37,201,255,.055); }
.sds-outlook-day small,
.sds-outlook-day strong { display: block; }
.sds-outlook-day small { color: #75daf6; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.sds-outlook-day strong { margin-top: 3px; color: #eff7ff; font-size: 13px; }
.sds-outlook-condition { display: block; margin-top: 14px; overflow: hidden; color: #a6b8ca; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.sds-outlook-weather { display: grid; gap: 2px; margin-top: 8px; color: #7f95ab; font-size: 8px; }
.sds-mini-score { height: 4px; margin-top: 13px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.07); }
.sds-mini-score span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--sds-blue), var(--sds-indigo)); }
.sds-outlook-day b { display: block; margin-top: 6px; color: #e7f4ff; font-size: 11px; text-align: right; }

.sds-result-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px 30px;
  padding: 18px clamp(22px, 4vw, 40px);
  border-top: 1px solid var(--sds-line);
  background: rgba(2, 10, 20, .32);
}
.sds-result-footer > div:first-child { display: grid; grid-template-columns: 10px auto; align-items: center; gap: 2px 9px; }
.sds-result-footer .sds-live-dot { width: 6px; height: 6px; }
.sds-result-footer strong { color: #dce9f4; font-size: 9px; }
.sds-result-footer small { grid-column: 2; color: #71879e; font-size: 8px; }
.sds-result-footer p { max-width: 460px; margin: 0; color: #71879e; font-size: 8px; line-height: 1.55; text-align: right; }

.sds-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.sds-district-link {
  flex-shrink: 0;
  padding: 8px 14px;
  border: 1px solid rgba(37, 201, 255, .3);
  border-radius: 99px;
  color: var(--sds-blue);
  background: rgba(37, 201, 255, .08);
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
.sds-district-link:hover,
.sds-district-link:focus-visible {
  background: var(--sds-blue);
  color: #06101f;
}

@media (max-width: 980px) {
  .sds-panel { grid-template-columns: 1fr; }
  .sds-idle-visual { min-height: 280px; }
  .sds-orbit-one { width: 190px; height: 190px; }
  .sds-orbit-two { width: 245px; height: 245px; }
  .sds-cloud-mark { width: 88px; height: 88px; margin-bottom: 18px; border-radius: 27px; font-size: 41px; }
  .sds-result-overview { grid-template-columns: 260px 1fr; }
  .sds-metrics-grid { grid-template-columns: repeat(3, 1fr); }
  .sds-two-column { grid-template-columns: 1fr; }
  .sds-two-column .sds-section-block + .sds-section-block { border-top: 1px solid var(--sds-line); border-left: 0; }
}

@media (max-width: 700px) {
  .sds-app { min-height: 620px; padding: 46px 14px; }
  .sds-hero { margin-bottom: 27px; }
  .sds-hero h1 { font-size: clamp(36px, 11vw, 54px); }
  .sds-hero > p { font-size: 15px; }
  .sds-panel { padding: 17px; border-radius: 22px; }
  .sds-choice-grid { grid-template-columns: 1fr; }
  .sds-choice { min-height: 60px; }
  .sds-choice small { white-space: normal; }
  .sds-idle-visual { display: none; }
  .sds-advanced-field { grid-template-columns: 1fr; gap: 7px; }
  .sds-result-card { border-radius: 22px; }
  .sds-result-topbar { align-items: flex-start; flex-direction: column; }
  .sds-result-actions { width: 100%; justify-content: space-between; }
  .sds-result-overview { grid-template-columns: 1fr; }
  .sds-gauge { width: 230px; }
  .sds-score-cards { grid-template-columns: 1fr; }
  .sds-score-card { display: grid; grid-template-columns: 1fr auto; align-items: center; }
  .sds-score-card > span { grid-column: 1 / -1; }
  .sds-metrics-grid { grid-template-columns: repeat(2, 1fr); }
  .sds-outlook { grid-template-columns: 1fr; }
  .sds-outlook-day { display: grid; grid-template-columns: 1fr auto; gap: 6px 18px; align-items: center; }
  .sds-outlook-condition { margin: 0; text-align: right; }
  .sds-outlook-weather { margin: 2px 0 0; }
  .sds-mini-score { margin-top: 4px; }
  .sds-outlook-day b { position: absolute; right: 14px; bottom: 16px; }
  .sds-result-footer { align-items: flex-start; flex-direction: column; gap: 12px; }
  .sds-result-footer p { text-align: left; }
}

@media (max-width: 420px) {
  .sds-trust-row span:nth-child(n+3) { display: none; }
  .sds-location { padding-left: 45px !important; font-size: 14px !important; }
  .sds-metrics-grid { grid-template-columns: 1fr; }
  .sds-section-heading { align-items: flex-start; flex-direction: column; gap: 5px; }
}

/* ---------- Report / Accuracy widgets ---------- */

.sds-app.sds-feedback-app,
.sds-app.sds-accuracy-app {
  min-height: 0;
  padding: clamp(28px, 4vw, 44px);
  border-radius: 28px;
  border: 1px solid var(--sds-line);
}

.sds-feedback-head,
.sds-accuracy-head {
  max-width: 640px;
  margin: 0 auto 28px;
  text-align: center;
}

.sds-feedback-head h2,
.sds-accuracy-head h2 {
  margin: 0 0 10px;
  font-size: clamp(22px, 3vw, 28px);
  font-weight: 800;
  letter-spacing: -.01em;
}

.sds-feedback-head p,
.sds-accuracy-head p {
  margin: 0 0 10px;
  color: var(--sds-muted);
  font-size: 14.5px;
  line-height: 1.6;
}

.sds-feedback-form {
  display: grid;
  gap: 20px;
  max-width: 560px;
  margin: 0 auto;
}

.sds-outcome-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 10px;
}

.sds-outcome-btn {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 13px 14px;
  border: 1px solid var(--sds-line);
  border-radius: 13px;
  color: var(--sds-text);
  background: rgba(255,255,255,.02);
  font-size: 13.5px;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease, transform .1s ease;
}

.sds-outcome-btn span {
  font-size: 17px;
}

.sds-outcome-btn:hover {
  border-color: rgba(37, 201, 255, .4);
}

.sds-outcome-btn.is-selected {
  border-color: var(--sds-blue);
  background: rgba(37, 201, 255, .12);
  box-shadow: 0 0 0 1px rgba(37, 201, 255, .3) inset;
}

.sds-feedback-tally {
  padding: 12px 16px;
  border: 1px solid var(--sds-line);
  border-radius: 12px;
  background: rgba(98, 231, 189, .07);
  color: #cdeee1;
  font-size: 13px;
}

.sds-feedback-disclaimer {
  max-width: 560px;
  margin: 22px auto 0;
  color: #71879e;
  font-size: 11.5px;
  text-align: center;
  line-height: 1.6;
}

.sds-accuracy-summary {
  max-width: 640px;
  margin: 0 auto 24px;
  padding: 14px 20px;
  border: 1px solid rgba(98, 231, 189, .25);
  border-radius: 14px;
  background: rgba(98, 231, 189, .06);
  color: #dcf5eb;
  font-size: 14px;
  text-align: center;
}

.sds-accuracy-summary strong {
  color: var(--sds-green);
}

.sds-accuracy-empty {
  max-width: 460px;
  margin: 0 auto;
  padding: 26px 20px;
  border: 1px dashed var(--sds-line);
  border-radius: 16px;
  color: var(--sds-muted);
  font-size: 13.5px;
  line-height: 1.6;
  text-align: center;
}

.sds-accuracy-scroll {
  overflow-x: auto;
  border: 1px solid var(--sds-line);
  border-radius: 16px;
}

.sds-accuracy-table {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
  font-size: 13px;
}

.sds-accuracy-table th,
.sds-accuracy-table td {
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid var(--sds-line);
  white-space: nowrap;
}

.sds-accuracy-table thead th {
  color: #8fa3b8;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  background: rgba(255,255,255,.02);
}

.sds-accuracy-table tbody tr:last-child td {
  border-bottom: 0;
}

.sds-accuracy-result.is-match { color: var(--sds-green); font-weight: 700; }
.sds-accuracy-result.is-miss { color: var(--sds-red); font-weight: 700; }
.sds-accuracy-result.is-unknown { color: #71879e; }

.sds-accuracy-answer {
  max-width: 640px;
  margin: 0 auto 24px;
  padding: 14px 20px;
  border: 1px solid rgba(37, 201, 255, .25);
  border-radius: 14px;
  background: rgba(37, 201, 255, .06);
  color: var(--sds-text);
  font-size: 14.5px;
  line-height: 1.6;
  text-align: center;
}

.sds-accuracy-locations {
  max-width: 780px;
  margin: 28px auto 0;
}

.sds-accuracy-locations h3 {
  margin: 0 0 12px;
  font-size: 15px;
  font-weight: 700;
  color: var(--sds-text);
  text-align: center;
}

.sds-accuracy-locations-table th,
.sds-accuracy-locations-table td {
  white-space: normal;
}

.sds-accuracy-asof {
  max-width: 640px;
  margin: 18px auto 0;
  color: var(--sds-muted);
  font-size: 12.5px;
  text-align: center;
}

.sds-accuracy-asof a {
  color: var(--sds-blue);
}

.sds-local-accuracy {
  max-width: 640px;
  margin: 0 auto;
  padding: 24px;
  border-radius: 20px;
  border: 1px solid var(--sds-line);
  background: var(--sds-navy-850);
}

.sds-local-accuracy-title {
  margin: 0 0 14px;
  font-size: 17px;
  font-weight: 700;
  color: var(--sds-text);
  text-align: center;
}

.sds-local-accuracy-empty {
  margin: 0;
  padding: 18px;
  border: 1px dashed var(--sds-line);
  border-radius: 14px;
  color: var(--sds-muted);
  font-size: 13px;
  line-height: 1.6;
  text-align: center;
}

.sds-local-accuracy-empty a,
.sds-accuracy-locations a {
  color: var(--sds-blue);
}

.sds-local-accuracy-table {
  min-width: 0;
  width: 100%;
}

@media (max-width: 560px) {
  .sds-outcome-grid { grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .sds-app *,
  .sds-app *::before,
  .sds-app *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
/* Manual Snow Day Calculator — scenario input styling */

/* Fix: BeBuilder's Code element wraps our shortcode output in a <pre class="mfn-code">
   that sets white-space: pre-wrap. Since white-space is inherited, every whitespace
   character in this template's HTML indentation was rendering as visible line breaks,
   stretching every field, grid, and section on the Manual Snow Day Calculator page.
   Resetting it on the app root restores normal layout for all descendants that don't
   already declare their own white-space (badges/labels keep their nowrap rules below,
   since explicit rules always win over inherited values). Scoped to .sds-app so the
   homepage predictor (already unaffected) is untouched either way. */
.sds-app {
  white-space: normal;
}

.sds-manual-hero p a {
  color: var(--sds-blue, #25c9ff);
}

.sds-manual-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-bottom: 20px;
}

.sds-manual-field label,
.sds-manual-field .sds-mini-label {
  display: block;
  margin-bottom: 8px;
  color: #a8bbcf;
  font-size: 11px;
  font-weight: 700;
}

.sds-manual-input-wrap {
  position: relative;
}

.sds-manual-input {
  width: 100%;
  min-height: 54px;
  padding: 0 52px 0 16px !important;
  border: 1px solid rgba(188, 216, 241, .2) !important;
  border-radius: 14px !important;
  outline: none;
  color: #f7fbff !important;
  background: rgba(5, 16, 31, .72) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 10px 30px rgba(0,0,0,.12) !important;
  font-size: 16px !important;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.sds-manual-input:focus {
  border-color: rgba(37, 201, 255, .72) !important;
  box-shadow: 0 0 0 4px rgba(37, 201, 255, .1), 0 12px 34px rgba(0,0,0,.18) !important;
}

.sds-manual-unit {
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  color: #7f96ae;
  font-size: 13px;
  font-weight: 700;
  pointer-events: none;
}

.sds-segmented-4 {
  grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 640px) {
  .sds-manual-grid {
    grid-template-columns: 1fr;
  }

  .sds-segmented-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
