.theme-control { position: fixed; inset: 0; z-index: 30; overflow: hidden; pointer-events: none; }
.theme-toggle {
  position: fixed;
  top: 50%;
  --toggle-inset: 40px;
  left: var(--toggle-inset);
  transform: translate(-50%, -50%);
  z-index: 30;
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(var(--accent-rgb), .6);
  border-radius: 50%;
  background: #fff;
  color: var(--accent);
  box-shadow: none;
  pointer-events: auto;
  touch-action: none;
  user-select: none;
  cursor: grab;
}
.theme-toggle svg { width: 28px; height: 28px; pointer-events: none; }
.theme-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: -4px; }
.theme-toggle:active, [data-curtain-direction] .theme-toggle { cursor: grabbing; }
.theme-moon { display: none; }
[data-theme="light"] .theme-toggle { left: calc(100% - var(--toggle-inset)); background: #17212c; }
[data-curtain-direction="right"] .theme-toggle { background: #fff; }
[data-curtain-direction="left"] .theme-toggle { background: #000; }
[data-theme="light"] .theme-sun { display: none; }
[data-theme="light"] .theme-moon { display: block; }
[data-curtain-direction="right"] .theme-toggle .theme-sun,
[data-curtain-direction="left"] .theme-toggle .theme-moon { display: block; }
[data-curtain-direction="right"] .theme-toggle .theme-moon,
[data-curtain-direction="left"] .theme-toggle .theme-sun { display: none; }
.theme-curtain { position: fixed; inset: 0; z-index: 29; pointer-events: none; overflow: hidden; clip-path: inset(0); }
html[data-curtain-direction] { user-select: none; }

html[data-theme="light"] { color-scheme: light; --accent: #ffb600; --accent-ink: #946200; --accent-rgb: 255, 182, 0; --background: #f5f7f9; --surface: #fff; --surface-raised: #edf1f4; --text: #17212c; --muted: #586574; --line: #243b5326; background: var(--background); }
[data-theme="light"] .single-page { --surface: #fff; --surface-raised: #edf1f4; --line: #243b5326; background: var(--background); }
[data-theme="light"] .site-sky { background: url("assets/images/diens-day-sky-4k-v3.webp") center / cover no-repeat; }
[data-theme="light"] [data-page="index"] .site-sky { background-image: url("assets/images/diens-day-sky-4k-seedream-v5.webp"); }
[data-theme="light"] .single-page .hero-building::before { background: #ffffffa8; }
[data-theme="light"] .company-logo { filter: none; }
[data-theme="light"] .hero-building .hero-kicker,
[data-theme="light"] .hero-building .hero-description,
[data-theme="light"] .hero-building .hero-bottom > a,
[data-theme="light"] .hero-platform-caption { color: var(--muted); }
[data-theme="light"] .hero-building .hero-description,
[data-theme="light"] .section-heading p,
[data-theme="light"] .portal-card p,
[data-theme="light"] .group-copy > p:not(.page-label),
[data-theme="light"] .group-company p,
[data-theme="light"] .capability-list p,
[data-theme="light"] .product-card > p,
[data-theme="light"] .platform-features dd,
[data-theme="light"] .capital-intro > p,
[data-theme="light"] .controlling-shareholder > p,
[data-theme="light"] .investor-history > p,
[data-theme="light"] .listing-card > p,
[data-theme="light"] .timeline p,
[data-theme="light"] .news-card > p,
[data-theme="light"] .contact-guidance p,
[data-theme="light"] .dialog-intro,
[data-theme="light"] .credential-description > p,
[data-theme="light"] .contact-options small { color: #50627f; }
[data-theme="light"] #home .hero-description,
[data-theme="light"] #company .section-intro { color: #444; }
[data-theme="light"] #company-panel-capital .company-facts > div > dt { color: #666; }
[data-theme="light"] .controlling-shareholder > .shareholder-name { color: #000; }
[data-theme="light"] .hero-card-stage { scrollbar-color: #b4c3d1 transparent; }
[data-theme="light"] .timeline time { color: #000; }
[data-theme="light"] .is-elastic .product-card { background: var(--background); }
[data-theme="light"] #company-panel-history > .timeline,
[data-theme="light"] .credentials-column,
[data-theme="light"] .honors-column,
[data-theme="light"] #business,
[data-theme="light"] #company-panel-capital,
[data-theme="light"] .group-capabilities .capability-list > article { background: var(--surface); }
[data-theme="light"] #business > .group-copy,
[data-theme="light"] #company-panel-capital > .capital-intro,
[data-theme="light"] #company-panel-capital > .capital-copy,
[data-theme="light"] .group-capabilities .capability-list > article { padding: clamp(20px, 2vw, 32px); }
[data-theme="light"] #business > .group-ecosystem { padding-inline: clamp(20px, 2vw, 32px); }
[data-theme="light"] #contact > .contact-layout { --text: #17212c; --muted: #586574; --line: #243b5326; background: rgba(245, 247, 249, .94); color: var(--text); padding: clamp(24px, 2vw, 32px); }
[data-theme="light"] #contact .contact-phone:is(:hover, :focus-visible) { color: var(--accent-ink); text-decoration: none; }
[data-theme="light"] #contact .contact-phone:focus-visible { outline-color: var(--text); }
[data-theme="light"] .is-elastic .product-card { border-color: var(--line); }
[data-theme="light"] .is-elastic .product-card:is(:hover, .is-expanded) { border-color: var(--accent); }
[data-theme="light"] .is-elastic .product-card.is-expanded { box-shadow: none; }
[data-theme="light"] .product-card:not(.is-expanded) .product-expand::after { color: var(--muted); }
[data-theme="light"] .platform-features > div { border-color: var(--line); }
[data-theme="light"] .platform-scenarios span { color: var(--accent-ink); border-color: rgba(var(--accent-rgb), .16); }
[data-theme="light"] .shareholder-logo img,
[data-theme="light"] .investor-logos img { filter: brightness(0) saturate(100%) opacity(.8); }
[data-theme="light"] .credential-preview { background: #eaf0f5; }
[data-theme="light"] .site-footer { text-shadow: none; }
[data-theme="light"] .footer-simple nav { text-shadow: none; }
[data-theme="light"] .back-to-home { filter: drop-shadow(0 2px 6px #ffffff); }
@media (max-width: 600px) {
  [data-theme="light"] .site-sky { background-position: 60% center; }
  .theme-toggle { --toggle-inset: 32px; width: 48px; height: 48px; }
  .theme-toggle svg { width: 28px; height: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .theme-toggle { transition: none; }
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
}
