/* Gamelade Spoiler Shield · v1.0.0 */
.gss-spoiler {
  --gss-accent: #086fdb;
  --gss-border: #c5dafa;
  --gss-bg: #eff6ff;
  --gss-text: #172233;
  --gss-muted: #586b83;
  box-sizing: border-box;
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 22px 0;
  color: var(--gss-text);
  font-family: inherit;
}
.gss-spoiler *, .gss-spoiler *::before, .gss-spoiler *::after { box-sizing: border-box; }
/* With JavaScript off, show the native no-JS disclosure only. */
.gss-spoiler > .gss-disclosure { display: none; }
html.gss-enabled .gss-spoiler > .gss-disclosure { display: block; }
.gss-disclosure {
  overflow: hidden;
  border: 1px solid var(--gss-border);
  border-radius: 13px;
  background: var(--gss-bg);
  box-shadow: 0 4px 20px rgba(9, 49, 100, 0.045);
}
.gss-summary {
  min-height: 89px;
  width: 100%;
  padding: 18px 19px;
  display: flex;
  align-items: center;
  gap: 15px;
  cursor: pointer;
  text-align: left;
  color: var(--gss-text);
  list-style: none;
  user-select: none;
  transition: background-color .18s ease;
}
.gss-summary::-webkit-details-marker { display: none; }
.gss-summary::marker { content: ''; }
.gss-summary:hover { background: rgba(9, 101, 213, .045); }
.gss-summary:focus-visible { outline: 3px solid #277de4; outline-offset: -4px; border-radius: 11px; }
.gss-summary-icon {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  display: inline-grid;
  place-items: center;
  border-radius: 11px;
  color: #086fdb;
  background: #dcecff;
  font-size: 24px;
  line-height: 1;
  font-weight: 500;
}
.gss-summary-copy { display: flex; flex: 1; flex-direction: column; min-width: 0; gap: 5px; }
.gss-action-label {
  font-size: 15px;
  font-weight: 800;
  line-height: 1.35;
  color: var(--gss-text);
}
.gss-summary-hint { color: var(--gss-muted); font-size: 12px; line-height: 1.55; font-weight: 450; }
.gss-summary-chevron { color: var(--gss-accent); font-size: 25px; line-height: 1; transition: transform .19s ease; }
.gss-disclosure[open] .gss-summary-chevron { transform: rotate(180deg); }
.gss-panel {
  padding: 20px 20px 24px;
  background: #fff;
  border-top: 1px solid var(--gss-border);
  font-size: inherit;
  line-height: inherit;
  overflow-wrap: anywhere;
}
.gss-panel > :first-child { margin-top: 0; }
.gss-panel > :last-child { margin-bottom: 0; }
.gss-panel img { max-width: 100%; height: auto; }
.gss-panel video, .gss-panel iframe { display: block; max-width: 100%; }
.gss-panel iframe { width: 100%; aspect-ratio: 16/9; border: 0; }
.gss-panel figure { max-width: 100%; }
.gss-spoiler--video .gss-summary-icon { background: #e3e5ff; color: #575bd4; }
.gss-spoiler--image .gss-summary-icon { background: #d9f4ef; color: #078875; }
.gss-spoiler--mixed .gss-summary-icon { background: #efe4fc; color: #7b45ba; }
.gss-nojs { padding: 6px 14px 16px; }
.gss-nojs summary { font-weight: 700; cursor: pointer; }
/* Pure-CSS inline reveal works even without JavaScript. */
.gss-inline { display: inline; position: relative; }
.gss-inline-toggle { position: absolute; width: 1px; height: 1px; opacity: 0; }
.gss-inline-label {
  cursor: pointer; margin: 0 3px; display: inline;
  padding: 2px 7px; color: var(--gss-accent, #086fdb);
  background: #e9f3ff; border: 1px solid #bad7fa;
  border-radius: 5px; font-size: .95em; font-weight: 650;
}
.gss-inline-toggle:focus-visible + .gss-inline-label { outline: 2px solid #277de4; outline-offset: 3px; }
.gss-inline-content, .gss-inline-hide { display: none; }
.gss-inline-toggle:checked ~ .gss-inline-content { display: inline; padding: 0 5px; }
.gss-inline-toggle:checked + .gss-inline-label .gss-inline-hide { display: inline; }
.gss-inline-toggle:checked + .gss-inline-label .gss-inline-show { display: none; }
body.dark-mode .gss-spoiler, body.dark .gss-spoiler, body[data-theme="dark"] .gss-spoiler, html[data-theme="dark"] .gss-spoiler {
  --gss-bg: #182636;
  --gss-border: #334963;
  --gss-text: #f1f6fd;
  --gss-muted: #b7c6d6;
}
body.dark-mode .gss-panel, body.dark .gss-panel, body[data-theme="dark"] .gss-panel, html[data-theme="dark"] .gss-panel { background: #101a26; color: #f1f6fd; }
@media (max-width: 640px) {
  .gss-summary { padding: 14px 13px; min-height: 76px; gap: 10px; }
  .gss-summary-icon { flex-basis: 37px; width: 37px; height: 37px; font-size: 20px; }
  .gss-summary-hint { font-size: 11px; }
  .gss-panel { padding: 14px 13px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .gss-summary, .gss-summary-chevron { transition: none; }
}
