/* IVES landing light/dark — default light. Toggle: data-ives-theme pada <html>. */

.ives-drawer__actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.theme-toggle{
  display:inline-grid;
  place-items:center;
  width:40px;
  height:40px;
  min-width:40px;
  padding:0;
  border:1px solid var(--line);
  border-radius:2px;
  background:transparent;
  color:var(--ink);
  flex:none;
}
.theme-toggle:hover{border-color:var(--blue);color:var(--blue)}
.theme-toggle:focus-visible{outline:3px solid var(--coral);outline-offset:3px}
.theme-toggle svg{width:18px;height:18px;display:block}
.theme-toggle [hidden]{display:none!important}

html[data-ives-theme="dark"]{
  color-scheme:dark;
  --ink:#ffffff;
  --muted:#d2cee8;
  --line:#3a3666;
  --paper:#1a1736;
  --white:#12102a;
  --bg:#0e0c22;
  --blue:#9b94ff;
  --lime:#5cff4a;
  --coral:#ff6b5c;
  --yellow:#ffe066;
  --mint:#7ee4d4;
  --cyan:#4bbcff;
  --lilac:#c4a8e8;
}

html[data-ives-theme="dark"] body{
  background:var(--bg);
  color:#fff;
}

/* Teks utama putih di dark mode (override hardcoded #252246 / #111 / muted gelap) */
html[data-ives-theme="dark"] h1,
html[data-ives-theme="dark"] h2,
html[data-ives-theme="dark"] h3,
html[data-ives-theme="dark"] .section-title,
html[data-ives-theme="dark"] .statement,
html[data-ives-theme="dark"] .navlinks,
html[data-ives-theme="dark"] .navlinks>a,
html[data-ives-theme="dark"] .hero-sub,
html[data-ives-theme="dark"] .hero-edition,
html[data-ives-theme="dark"] .hero-promise,
html[data-ives-theme="dark"] .about-copy p,
html[data-ives-theme="dark"] .block-head>p,
html[data-ives-theme="dark"] .program-head>p,
html[data-ives-theme="dark"] .speaker-head>p,
html[data-ives-theme="dark"] .speaker-head-copy>p,
html[data-ives-theme="dark"] .stats-top>p,
html[data-ives-theme="dark"] .eec-intro-prose p,
html[data-ives-theme="dark"] .prose p,
html[data-ives-theme="dark"] .quad p,
html[data-ives-theme="dark"] .day p,
html[data-ives-theme="dark"] .day h3,
html[data-ives-theme="dark"] .detail>p,
html[data-ives-theme="dark"] .detail h3,
html[data-ives-theme="dark"] .note,
html[data-ives-theme="dark"] .ticket-card,
html[data-ives-theme="dark"] .ticket-card h3,
html[data-ives-theme="dark"] .ticket-benefits li,
html[data-ives-theme="dark"] .ticket-price,
html[data-ives-theme="dark"] .ticket-regular,
html[data-ives-theme="dark"] .ticket-foot-note,
html[data-ives-theme="dark"] .pass-body h3,
html[data-ives-theme="dark"] .speaker-card h3,
html[data-ives-theme="dark"] .speaker-card p,
html[data-ives-theme="dark"] .role-item h3,
html[data-ives-theme="dark"] .role-item p,
html[data-ives-theme="dark"] .volunteer-copy p,
html[data-ives-theme="dark"] .volunteer-point strong,
html[data-ives-theme="dark"] .volunteer-point>span,
html[data-ives-theme="dark"] .mail-card h3,
html[data-ives-theme="dark"] .mail-card p,
html[data-ives-theme="dark"] .stage-grid h3,
html[data-ives-theme="dark"] .stage-grid p,
html[data-ives-theme="dark"] .waitlist-copy>p,
html[data-ives-theme="dark"] .waitlist-copy .section-title,
html[data-ives-theme="dark"] .waitlist-form label,
html[data-ives-theme="dark"] .waitlist-form legend,
html[data-ives-theme="dark"] .waitlist-check,
html[data-ives-theme="dark"] .waitlist-choice,
html[data-ives-theme="dark"] .waitlist-consent,
html[data-ives-theme="dark"] .wait-hint,
html[data-ives-theme="dark"] footer,
html[data-ives-theme="dark"] footer a,
html[data-ives-theme="dark"] .footer-tagline,
html[data-ives-theme="dark"] .footer-nav a,
html[data-ives-theme="dark"] .ives-drawer,
html[data-ives-theme="dark"] .ives-drawer a,
html[data-ives-theme="dark"] .ives-drawer__header,
html[data-ives-theme="dark"] .theme-toggle,
html[data-ives-theme="dark"] .lang-switch button,
html[data-ives-theme="dark"] .section-no,
html[data-ives-theme="dark"] .stat span,
html[data-ives-theme="dark"] .stat strong,
html[data-ives-theme="dark"] .date-main,
html[data-ives-theme="dark"] .date-venue,
html[data-ives-theme="dark"] .date-note,
html[data-ives-theme="dark"] .band-content p,
html[data-ives-theme="dark"] .band-content h2,
html[data-ives-theme="dark"] .battle-heading p,
html[data-ives-theme="dark"] .ticket-value-note,
html[data-ives-theme="dark"] .ticket-value-amount,
html[data-ives-theme="dark"] .ticket-benefit-label{
  color:#fff;
}

html[data-ives-theme="dark"] .navlinks>a:hover,
html[data-ives-theme="dark"] .text-link,
html[data-ives-theme="dark"] .lang-switch button[aria-pressed="true"],
html[data-ives-theme="dark"] .section-no,
html[data-ives-theme="dark"] .green-label{
  color:var(--lime);
}

html[data-ives-theme="dark"] .muted,
html[data-ives-theme="dark"] .ticket-benefits li.is-no,
html[data-ives-theme="dark"] .ticket-regular,
html[data-ives-theme="dark"] .wait-hint,
html[data-ives-theme="dark"] .eec-note{
  color:#d2cee8;
}

/* Surfaces that were hardcoded white / paper */
html[data-ives-theme="dark"] .nav,
html[data-ives-theme="dark"] .about,
html[data-ives-theme="dark"] .program,
html[data-ives-theme="dark"] .waitlist,
html[data-ives-theme="dark"] .volunteer,
html[data-ives-theme="dark"] .block.white,
html[data-ives-theme="dark"] #experience,
html[data-ives-theme="dark"] #eec,
html[data-ives-theme="dark"] #tickets,
html[data-ives-theme="dark"] footer{
  background:var(--bg);
}

html[data-ives-theme="dark"] .speakers,
html[data-ives-theme="dark"] .block.paper,
html[data-ives-theme="dark"] #partners,
html[data-ives-theme="dark"] .hero,
html[data-ives-theme="dark"] .stats{
  background:var(--paper);
}

html[data-ives-theme="dark"] .ives-drawer{
  background:var(--paper);
  color:var(--ink);
  border-color:var(--line);
}
html[data-ives-theme="dark"] .ives-drawer-backdrop{
  background:rgba(8,6,24,.72);
}

html[data-ives-theme="dark"] .nav{
  border-bottom-color:var(--line);
}

html[data-ives-theme="dark"] .lang-switch button{color:#fff}
html[data-ives-theme="dark"] .lang-switch button[aria-pressed="true"]{color:var(--lime)}

html[data-ives-theme="dark"] .ticket-card,
html[data-ives-theme="dark"] .pass-card,
html[data-ives-theme="dark"] .mail-card,
html[data-ives-theme="dark"] .wait-success-card,
html[data-ives-theme="dark"] .wait-success-frame,
html[data-ives-theme="dark"] .speaker-card,
html[data-ives-theme="dark"] .detail,
html[data-ives-theme="dark"] .day{
  background:var(--paper);
  border-color:var(--line);
  color:#fff;
}

html[data-ives-theme="dark"] .ticket-card h3,
html[data-ives-theme="dark"] .pass-body h3,
html[data-ives-theme="dark"] .speaker-card h3{
  color:#fff;
}

html[data-ives-theme="dark"] .ticket-benefits li.is-no{color:#d2cee8}
html[data-ives-theme="dark"] .ticket-benefits li.is-no:before{
  background:#2a2748;
  color:#ff8a7a;
}

html[data-ives-theme="dark"] .waitlist-form input:not([type=checkbox]):not([type=radio]),
html[data-ives-theme="dark"] .waitlist-form select,
html[data-ives-theme="dark"] .speaker-search input,
html[data-ives-theme="dark"] .waitlist-check,
html[data-ives-theme="dark"] .waitlist-choice,
html[data-ives-theme="dark"] .waitlist-other{
  background:var(--paper);
  border-color:var(--line);
  color:#fff;
}
html[data-ives-theme="dark"] .waitlist-form input::placeholder{color:#d2cee8}
html[data-ives-theme="dark"] .waitlist-check:has(input:checked),
html[data-ives-theme="dark"] .waitlist-choice:has(input:checked){
  border-color:var(--lime);
  background:#221f48;
}

html[data-ives-theme="dark"] .waitlist-card{
  background:var(--blue);
  color:#fff;
}
html[data-ives-theme="dark"] .waitlist-card h3,
html[data-ives-theme="dark"] .waitlist-card .section-no{color:#fff}

html[data-ives-theme="dark"] .parallax-band{
  background:var(--paper);
}
html[data-ives-theme="dark"] .marquee{
  background:var(--blue);
}

html[data-ives-theme="dark"] .primary-btn{
  background:var(--blue);
  color:#fff;
}
html[data-ives-theme="dark"] .text-link{color:var(--lime)}

html[data-ives-theme="dark"] .sn-anim:not(.sn-anim--on-blue){
  --sn-bg:var(--paper);
  --sn-panel:#221f48;
  --sn-panel-back:#2a2748;
  --sn-line:var(--line);
  --sn-ink:#fff;
  --sn-muted:#d2cee8;
  --sn-accent:var(--blue);
  --sn-accent-ink:#fff;
}

html[data-ives-theme="dark"] #experience .quad article{
  background:var(--paper);
  color:#fff;
  border-top-color:var(--line);
}
html[data-ives-theme="dark"] #experience .quad article:first-child{
  background:var(--blue);
  color:#fff;
}
html[data-ives-theme="dark"] #experience .quad article:first-child h3,
html[data-ives-theme="dark"] #experience .quad article:first-child .section-no,
html[data-ives-theme="dark"] #experience .quad article:first-child p{
  color:#fff;
}
html[data-ives-theme="dark"] #experience .quad article:nth-child(2){background:color-mix(in srgb,var(--mint) 35%,var(--paper))}
html[data-ives-theme="dark"] #experience .quad article:nth-child(3){background:color-mix(in srgb,var(--yellow) 28%,var(--paper))}
html[data-ives-theme="dark"] #experience .quad article:nth-child(4){background:#2a2458}
html[data-ives-theme="dark"] #experience .quad h3,
html[data-ives-theme="dark"] #experience .quad p,
html[data-ives-theme="dark"] #experience .quad .section-no{
  color:#fff;
}

html[data-ives-theme="dark"] #eec .quad article{
  border-top-color:var(--line);
  color:#fff;
}
html[data-ives-theme="dark"] #eec .quad h3,
html[data-ives-theme="dark"] #eec .quad p,
html[data-ives-theme="dark"] #eec .eec-intro-prose p,
html[data-ives-theme="dark"] #eec .section-title{
  color:#fff;
}

html[data-ives-theme="dark"] .footer-wordmark{color:#fff}
html[data-ives-theme="dark"] footer a:hover{color:var(--lime)}

html[data-ives-theme="dark"] .theme-toggle{
  border-color:var(--line);
  color:#fff;
}
html[data-ives-theme="dark"] .theme-toggle:hover{
  border-color:var(--lime);
  color:var(--lime);
}

/* Catch-all: paragraf & heading di surface gelap */
html[data-ives-theme="dark"] p,
html[data-ives-theme="dark"] li,
html[data-ives-theme="dark"] label,
html[data-ives-theme="dark"] summary,
html[data-ives-theme="dark"] .eyebrow{
  color:#fff;
}
html[data-ives-theme="dark"] .ticket-benefits li.is-no,
html[data-ives-theme="dark"] .eec-note,
html[data-ives-theme="dark"] .wait-hint{
  color:#d2cee8;
}
html[data-ives-theme="dark"] .text-link,
html[data-ives-theme="dark"] .navlinks>a:hover,
html[data-ives-theme="dark"] .green-label{
  color:var(--lime);
}

@media(max-width:700px){
  .theme-toggle{width:36px;height:36px;min-width:36px}
  .theme-toggle svg{width:16px;height:16px}
}


/* Committee */
html[data-ives-theme="dark"] .committee{
  background:var(--paper);
  --committee-card:#161332;
  --committee-muted:var(--muted);
  --committee-soft:#d2cee8;
  --committee-pending:#c8c2e0;
  --committee-pending-quote:#a8a2c4;
  --committee-pending-org:#9b94ff;
  --committee-index:#b8b2d4;
  --committee-year:#b8b2d4;
  --committee-bottom:#b8b2d4;
  --committee-placeholder:#a8a2c4;
}
html[data-ives-theme="dark"] .committee-title,
html[data-ives-theme="dark"] .committee-name,
html[data-ives-theme="dark"] .committee-description,
html[data-ives-theme="dark"] .committee-role,
html[data-ives-theme="dark"] .committee-quote,
html[data-ives-theme="dark"] .committee-kicker,
html[data-ives-theme="dark"] .committee-year,
html[data-ives-theme="dark"] .committee-bottom{color:#fff}
html[data-ives-theme="dark"] .committee-card{background:var(--committee-card);border-color:var(--line)}
html[data-ives-theme="dark"] .committee-card:hover{border-color:var(--blue);box-shadow:0 12px 25px #00000055}
html[data-ives-theme="dark"] .committee-pending .committee-label{background:#ffffff22;color:#d2cee8}
html[data-ives-theme="dark"] .committee-portrait{filter:grayscale(1) brightness(1.05)}

/* Speakers TBA */
html[data-ives-theme="dark"] .sp-section{
  background:var(--paper);
  --sp-paper:var(--paper);
  --sp-muted:var(--muted);
  --sp-soft:#b8b2d4;
  --sp-card-a:#24205a;
  --sp-card-b:#1f2a28;
  --sp-card-c:#2a221f;
  --sp-ring-a:#5a52b0;
  --sp-ring-b:#3d5a4e;
  --sp-ring-c:#6a4e42;
  --sp-sil-a:#6a62b8;
  --sp-sil-b:#4a6a5e;
  --sp-sil-c:#7a5a4a;
}
html[data-ives-theme="dark"] .sp-title,
html[data-ives-theme="dark"] .sp-eyebrow,
html[data-ives-theme="dark"] .sp-intro-copy p,
html[data-ives-theme="dark"] .sp-announcement-title,
html[data-ives-theme="dark"] .sp-announcement p,
html[data-ives-theme="dark"] .sp-footer,
html[data-ives-theme="dark"] .sp-card-info h3,
html[data-ives-theme="dark"] .sp-card-info p,
html[data-ives-theme="dark"] .sp-status,
html[data-ives-theme="dark"] .sp-year,
html[data-ives-theme="dark"] .sp-card-index{color:#fff}
html[data-ives-theme="dark"] .sp-status{border-color:var(--line)}
html[data-ives-theme="dark"] .sp-card{border-color:var(--line)}
html[data-ives-theme="dark"] .sp-card-info{background:#161332;border-color:var(--line)}
html[data-ives-theme="dark"] .sp-eyebrow,
html[data-ives-theme="dark"] .sp-announcement{border-color:var(--line)}
