.nc-tehran-clock {
  position: fixed;
  z-index: 980;
  top: auto;
  right: max(.85rem, env(safe-area-inset-right));
  bottom: max(.85rem, env(safe-area-inset-bottom));
  left: auto;
  inset-inline-start: max(.85rem, env(safe-area-inset-right));
  inset-inline-end: auto;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  max-width: min(24rem, calc(100vw - 5.6rem));
  min-height: 2.8rem;
  padding: .43rem .78rem;
  border: 1px solid color-mix(in srgb, var(--ds-border) 82%, var(--ds-accent));
  border-radius: 999px;
  background: color-mix(in srgb, var(--ds-surface-raised) 90%, transparent);
  box-shadow: 0 12px 30px color-mix(in srgb, #000 14%, transparent);
  backdrop-filter: blur(14px);
  color: var(--ds-muted);
  direction: rtl;
  font: 850 .72rem/1 Vazirmatn, Tahoma, sans-serif;
  pointer-events: none;
  user-select: none;
  transform: none;
}
.nc-tehran-clock__pulse {
  flex: none;
  width: .44rem;
  height: .44rem;
  border-radius: 50%;
  background: var(--ds-positive);
  box-shadow: 0 0 0 .18rem color-mix(in srgb, var(--ds-positive) 15%, transparent);
}
.nc-tehran-clock__rows {
  display: flex;
  align-items: baseline;
  gap: .46rem;
  min-width: 0;
}
.nc-tehran-clock__row {
  display: flex;
  align-items: baseline;
  gap: .46rem;
  min-width: 0;
}
.nc-tehran-clock__place {
  color: var(--ds-gold);
  text-align: start;
  font-size: .7rem;
  letter-spacing: .04em;
}
.nc-tehran-clock__date,
.nc-tehran-clock__time {
  color: var(--ds-ink-strong);
  font-weight: 900;
  white-space: nowrap;
}
.nc-tehran-clock__date {
  text-align: start;
  font-size: .78rem;
}
.nc-tehran-clock__time {
  direction: ltr;
  unicode-bidi: isolate;
  font-variant-numeric: tabular-nums;
  text-align: left;
  font-size: .92rem;
  letter-spacing: .035em;
}

.market-theme-toggle {
  position: fixed;
  top: auto;
  right: auto;
  left: max(.85rem, env(safe-area-inset-left));
  bottom: max(.85rem, env(safe-area-inset-bottom));
  inset-inline-start: auto;
  inset-inline-end: max(.85rem, env(safe-area-inset-left));
  z-index: 1100;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  width: max-content;
  max-width: calc(50vw - 1.1rem);
  min-height: 2.8rem;
  padding-block: .43rem;
  padding-inline: .78rem;
  border: 1px solid color-mix(in srgb, var(--ds-border) 82%, var(--ds-accent));
  border-radius: 999px;
  background: color-mix(in srgb, var(--ds-surface-raised) 90%, transparent);
  box-shadow: 0 12px 30px color-mix(in srgb, #000 14%, transparent);
  backdrop-filter: blur(14px);
  color: var(--ds-ink);
  font: 850 .72rem/1 Vazirmatn, Tahoma, sans-serif;
  cursor: pointer;
}
.market-theme-toggle:hover { border-color: color-mix(in srgb, var(--ds-gold) 55%, var(--ds-border)); }
.market-theme-toggle:focus-visible { outline: 2px solid var(--ds-gold); outline-offset: 2px; }
.market-theme-toggle [data-theme-icon] {
  display: grid;
  flex: none;
  width: 1.8rem;
  height: 1.8rem;
  place-items: center;
  border-radius: 50%;
  background: var(--ds-surface-muted);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ds-gold) 28%, transparent);
  color: var(--ds-gold);
}
.market-theme-toggle [data-theme-label] {
  display: block;
  line-height: 1.6;
  white-space: nowrap;
}
.market-theme-toggle [data-theme-icon] svg {
  display: block;
  width: 1rem;
  height: 1rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (max-width: 700px) {
  .nc-tehran-clock {
    right: max(.55rem, env(safe-area-inset-right));
    bottom: max(.55rem, env(safe-area-inset-bottom));
    inset-inline-start: max(.55rem, env(safe-area-inset-right));
    gap: .5rem;
    max-width: min(18rem, calc(100vw - 4.9rem));
    min-height: 2.9rem;
    padding: .38rem .62rem;
    font-size: .68rem;
  }
  .nc-tehran-clock__rows,
  .nc-tehran-clock__row { gap: .34rem; }
  .nc-tehran-clock__place { font-size: .64rem; letter-spacing: .02em; }
  .nc-tehran-clock__date { font-size: .7rem; }
  .nc-tehran-clock__time { font-size: .82rem; }
  .market-theme-toggle {
    left: max(.55rem, env(safe-area-inset-left));
    bottom: max(.55rem, env(safe-area-inset-bottom));
    inset-inline-end: max(.55rem, env(safe-area-inset-left));
    display: grid;
    place-items: center;
    width: 2.9rem;
    min-width: 0;
    height: 2.9rem;
    min-height: 0;
    padding: 0;
  }
  .market-theme-toggle [data-theme-icon] { width: 100%; height: 100%; background: transparent; box-shadow: none; }
  .market-theme-toggle [data-theme-icon] svg { width: 1.25rem; height: 1.25rem; }
  .market-theme-toggle [data-theme-label] { display: none; }
}

@media print {
  .nc-tehran-clock { display: none !important; }
}
