
.sc-banner-links {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem 1.75rem;
  margin: .6rem 0 0;
  pointer-events: auto;                     /* the banner itself ignores the pointer; these are links */
}
@media (max-width: 768px) { .sc-banner-links { justify-content: center; } }
.sc-banner-links a {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: .9rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--text-main);
  text-decoration: none;
  text-shadow: 0 0 8px var(--bg-color), 0 0 16px var(--bg-color);
}
.sc-banner-links a:hover, .sc-banner-links a:focus-visible { color: var(--text-accent); text-decoration: underline; text-underline-offset: .2em; }

html body { background: none; }
/* The banner leaves a gap of 1.5rem before the content */
.umd-utility { margin-top: -1.5rem; }

.theme-toggle-switch .theme-toggle-btn { color: var(--text-main); }

html.dark .umd-utility--frame,
html.dark .umd-tool-frame { background: #111213; }
html:not(.dark) .umd-utility--frame,
html:not(.dark) .umd-tool-frame { background: #ffffff; }
html.dark main#main:has(.umd-utility) { background: #000000; }
html:not(.dark) main#main:has(.umd-utility) { background: #ffffff; }
html.dark main#main:has(.umd-utility--frame) { background: #111213; }
html:not(.dark) main#main:has(.umd-utility--frame) { background: #ffffff; }
.umd-tool-frame {
  display: block;
  width: 100%;
  min-height: 640px;
  border: 0;
}
.umd-tool-frame__fallback { margin: 0; padding: 2rem 1.5rem; color: #fff; }
.umd-tool-frame__fallback a { color: var(--umd-gold, #ffd200); }

/* Green dot maximizes and yellow dot minimizes the embed window */
.win-titlebar button.win-dot--max, .win-titlebar button.win-dot--min { flex: none; margin: 0; padding: 0; border: 0; cursor: pointer; position: relative; }
.win-titlebar button.win-dot--max::before, .win-titlebar button.win-dot--max::after { content: ""; position: absolute; width: 4px; height: 4px; background: #0b4d15; opacity: 0; transition: opacity .15s ease; }
.win-titlebar button.win-dot--max::before { top: 3px; left: 3px; clip-path: polygon(0 0, 100% 0, 0 100%); }
.win-titlebar button.win-dot--max::after { bottom: 3px; right: 3px; clip-path: polygon(100% 0, 100% 100%, 0 100%); }
.win-titlebar button.win-dot--max:hover::before, .win-titlebar button.win-dot--max:hover::after, .win-titlebar button.win-dot--max:focus-visible::before, .win-titlebar button.win-dot--max:focus-visible::after { opacity: 1; }
.win-titlebar button.win-dot--max:focus-visible, .win-titlebar button.win-dot--min:focus-visible { outline: 2px solid #e21833; outline-offset: 3px; }
.win-titlebar .win-maximize { display: none; }
.win-titlebar button.win-dot--min::before { content: ""; position: absolute; left: 3px; right: 3px; top: 5.25px; height: 1.5px; background: #7a4f00; opacity: 0; transition: opacity .15s ease; }
.win-titlebar button.win-dot--min:hover::before, .win-titlebar button.win-dot--min:focus-visible::before { opacity: 1; }
.win-frame.is-min .umd-tool-frame { height: 0 !important; min-height: 0; visibility: hidden; }
.win-frame.is-min .win-titlebar { border-bottom: 0; }
.win-frame.is-max { position: fixed; inset: 0; z-index: 2147483646; border-radius: 0; border: 0; }
.win-frame.is-max .umd-tool-frame { flex: 1 1 auto; height: auto !important; min-height: 0; }
html.win-max-open, html.win-max-open body { overflow: hidden; }

/* Bigger dots 44px apart, each with its own 44px tap area */
.win-frame .win-titlebar { height: 48px; padding: 0 16px; }
.win-frame .win-titlebar .win-controls { gap: 22px; }
.win-frame .win-titlebar .win-dot { width: 22px; height: 22px; }
.win-frame .win-titlebar button.win-dot--max, .win-frame .win-titlebar button.win-dot--min { box-sizing: content-box; border: 11px solid transparent; margin: -11px; background-clip: padding-box; }
.win-frame .win-titlebar button.win-dot--max:hover, .win-frame .win-titlebar button.win-dot--min:hover { box-shadow: none; }
.win-frame .win-titlebar button.win-dot--max:hover { filter: drop-shadow(0 0 6px rgba(40, 200, 64, .9)); }
.win-frame .win-titlebar button.win-dot--min:hover { filter: drop-shadow(0 0 6px rgba(254, 188, 46, .9)); }
.win-frame .win-titlebar button.win-dot--max::before { top: 6px; left: 6px; width: 6px; height: 6px; }
.win-frame .win-titlebar button.win-dot--max::after { bottom: 6px; right: 6px; width: 6px; height: 6px; }
.win-frame .win-titlebar button.win-dot--min::before { left: 5px; right: 5px; top: 10px; height: 2px; }
.win-frame .win-titlebar button.win-dot--max:focus-visible, .win-frame .win-titlebar button.win-dot--min:focus-visible { outline-offset: -8px; }
