#ekSetup {
  --ek-pink: hsl(300 90% 75%);
  --ek-pink-light: hsl(300 95% 84%);
  --ek-white: hsl(30 10% 95%);
  --ek-white-muted: hsl(30 10% 65%);
  color:var(--ek-white);
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:12px;
  border:1px solid hsl(300 90% 75% / .3);
  border-radius:8px;
  background:hsl(300 90% 75% / .035);
}
#ekSetup > summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:var(--ek-pink);
  font-size:.88rem;
  font-weight:700;
  cursor:pointer;
  list-style:none;
}
#ekSetup > summary::-webkit-details-marker { display:none; }
#ekSetup > summary { justify-content:flex-start; }
#ekSetup > summary::after { margin-left:auto; color:var(--ek-pink-light); }
#ekSetup .ek-brand-icon {
  width:56px;
  height:56px;
  flex:0 0 56px;
  image-rendering:pixelated;
  object-fit:contain;
}
#ekSetup:not([open]) > :not(summary) { display:none; }
#ekSetup > summary::after { content:"＋"; font-size:1rem; }
#ekSetup[open] > summary::after { content:"−"; }
.ek-form { display:flex; flex-direction:column; gap:10px; }
.ek-note, .ek-form label { color:var(--ek-pink-light); }
.ek-form label { display:flex; flex-direction:column; gap:5px; font-size:.74rem; font-weight:700; }
.ek-form input {
  width:100%; min-width:0; padding:9px 10px; border:1px solid hsl(300 90% 75% / .35);
  border-radius:6px; background:var(--surface2); color:var(--ek-white); font:inherit;
}
.ek-form input:focus-visible, #ekConfigure:focus-visible, #ekSetup summary:focus-visible {
  outline:2px solid var(--ek-pink); outline-offset:2px;
}
.ek-note { color:var(--ek-white-muted); font-size:.74rem; line-height:1.5; margin:0; }
#ekConfigure {
  border-color:var(--ek-pink);
  background:var(--ek-pink);
  color:hsl(300 35% 16%);
}
#ekConfigure:hover:not(:disabled) { background:var(--ek-pink-light); }
#ekStatus { min-height:1.3em; font-size:.76rem; line-height:1.5; }
#ekStatus[data-kind="success"] { color:#86efac; }
#ekStatus[data-kind="error"] { color:#fca5a5; }

#streamDeckSetup {
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:8px;
  background:rgba(255,255,255,.025);
}
#streamDeckSetup > summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:var(--text);
  font-size:.88rem;
  font-weight:700;
  cursor:pointer;
  list-style:none;
}
#streamDeckSetup > summary::-webkit-details-marker { display:none; }
#streamDeckSetup:not([open]) > :not(summary) { display:none; }
#streamDeckSetup > summary::after { content:"＋"; color:var(--muted); font-size:1rem; }
#streamDeckSetup[open] > summary::after { content:"−"; }
#streamDeckSetup summary:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
