/* U.C.M slide-in site menu (2026-10-15). Pure CSS, no JavaScript: a hidden checkbox toggles the panel. */
.ucm-menu-toggle { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.ucm-menu-btn { position: absolute; top: 8px; left: 10px; z-index: 30; width: 44px; height: 44px; display: grid; place-items: center; cursor: pointer;
  border-radius: 12px; background: rgba(10, 12, 24, .72); border: 1px solid rgba(230, 180, 90, .45); -webkit-tap-highlight-color: transparent;
  transition: background .2s ease, border-color .2s ease; }
.ucm-menu-btn:hover { background: rgba(30, 24, 52, .9); border-color: rgba(230, 180, 90, .8); }
.ucm-menu-btn span, .ucm-menu-btn span::before, .ucm-menu-btn span::after { display: block; width: 20px; height: 2px; border-radius: 2px; background: #f2e3c0; content: ""; position: relative; }
.ucm-menu-btn span::before { position: absolute; top: -6px; left: 0; }
.ucm-menu-btn span::after { position: absolute; top: 6px; left: 0; }
.ucm-menu-toggle:focus-visible ~ .stage .ucm-menu-btn, .ucm-menu-toggle:focus-visible ~ .sbar .ucm-menu-btn { outline: 2px solid #e6b45a; outline-offset: 2px; }
.stage { position: relative; }
/* landing page: leave room in the top bar for the button */
.bar.top { padding-left: 62px !important; }
.bar.top .logo { margin-left: 0; }

.ucm-scrim { position: fixed; inset: 0; z-index: 90; background: rgba(2, 4, 12, .62); opacity: 0; pointer-events: none; transition: opacity .25s ease; }
.ucm-panel { position: fixed; top: 0; left: 0; bottom: 0; z-index: 100; width: min(84vw, 330px); overflow-y: auto; padding: 18px 20px 28px;
  background: linear-gradient(180deg, #0b0e1c, #070913); border-right: 1px solid rgba(230, 180, 90, .5); box-shadow: 0 0 40px rgba(0, 0, 0, .65);
  transform: translateX(-108%); visibility: hidden; transition: transform .28s ease, visibility 0s linear .28s;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; color: #f2f1f6; line-height: 1.4; }
.ucm-menu-toggle:checked ~ .ucm-panel { transform: translateX(0); visibility: visible; transition: transform .28s ease, visibility 0s; }
.ucm-menu-toggle:checked ~ .ucm-scrim { opacity: 1; pointer-events: auto; }
.ucm-close { position: absolute; top: 10px; right: 12px; width: 40px; height: 40px; display: grid; place-items: center; font-size: 28px; line-height: 1; color: #f2e3c0; cursor: pointer; border-radius: 10px; }
.ucm-close:hover { background: rgba(255, 255, 255, .08); }
.ucm-panel a { display: block; color: #f2f1f6; text-decoration: none; padding: 9px 10px; border-radius: 10px; font-size: 15px; }
.ucm-panel a:hover, .ucm-panel a:focus-visible { background: rgba(230, 180, 90, .14); color: #fff; outline: none; }
.ucm-panel .ucm-home { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #e6b45a; padding: 12px 44px 12px 10px; margin-bottom: 4px; }
.ucm-panel .ucm-h { margin: 18px 10px 4px; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: #9d9ab0; }
.ucm-panel .ucm-play { margin-top: 20px; text-align: center; font-weight: 600; background: linear-gradient(90deg, #f2c46f, #e6a94a); color: #1a1205; padding: 12px 10px; }
.ucm-panel .ucm-play:hover, .ucm-panel .ucm-play:focus-visible { background: linear-gradient(90deg, #ffd488, #f0b659); color: #1a1205; }
.ucm-panel .ucm-foot { display: flex; gap: 6px; margin-top: 18px; border-top: 1px solid rgba(255, 255, 255, .1); padding-top: 12px; }
.ucm-panel .ucm-foot a { font-size: 13px; color: #b9b7c4; padding: 6px 10px; }
@media (prefers-reduced-motion: reduce) { .ucm-panel, .ucm-scrim { transition: none !important; } }

/* FAQ topic list */
.faq-topics { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 8px; }
.faq-topics a { display: inline-block; padding: 7px 13px; border-radius: 999px; font-size: 13px; text-decoration: none; color: #f2f1f6; background: rgba(139, 108, 255, .16); border: 1px solid rgba(139, 108, 255, .45); }
.faq-topics a:hover, .faq-topics a:focus-visible { background: rgba(139, 108, 255, .32); outline: none; }
.group { scroll-margin-top: 16px; }
