/* Hun er ikke kvinne — presentation-specific layer.
   Keep this file small: shared mechanics belong in presentation-base.css. */

:root {
  /* Temporary foundation palette. Change --sic-accent on the parent page frontmatter. */
  --sic-bg: #f7f7f5;
  --sic-fg: #151515;
  --sic-muted: rgba(21, 21, 21, 0.48);
  --sic-line: rgba(21, 21, 21, 0.20);
  --sic-panel: rgba(247, 247, 245, 0.78);

  /* Typography is intentionally conservative for the skeleton.
     We can match/refine the Grav 2 typography when we style the first real slide type. */
  --sic-font-body: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --sic-font-display: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.sic-slide-title-frame .sic-slide-content { width: min(84%, 92rem); }
.sic-slide-title-frame h1 { font-size: clamp(4rem, 10vmin, 11rem); }
.sic-slide-title-frame p { color: var(--sic-muted); }

/* === SIC QUESTION EMPHASIS: START === */

.sic-question-slide-content {
  width: min(88%, 92rem);

  text-align: left;
}


/*
   Markdown **bold text** becomes the visual accent.

   The question itself is already strongly weighted,
   so the colour is the main distinction.
*/

.sic-question-slide-content strong {
  color: var(--sic-accent);

  font-weight: inherit;
}


/* === SIC QUESTION EMPHASIS: END === */

/* === SIC HEADING ACCENT EMPHASIS: START === */

/*
   In presentation headings, Markdown **bold**
   marks the words that receive the accent colour.

   Example:

   # **Four** writers were arrested.

   becomes:
   FOUR -> accent colour
   remaining title -> normal foreground colour
*/

.sic-slide-frame h1 strong,
.sic-slide-frame h2 strong,
.sic-slide-frame h3 strong {
  color: var(--sic-accent);

  /*
     The heading is already bold enough.
     Strong is being used here primarily as
     a semantic marker for accent colour.
  */
  font-weight: inherit;
}

/* === SIC HEADING ACCENT EMPHASIS: END === */

/* === SIC CANVAS RELATIVE SYSTEM: START === */


/* ==========================================================
   TYPOGRAPHY
========================================================== */

.sic-present-body {
  font-family:
    Inter,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
}


/*
   Display / heading font.

   If Cal Sans is available as a webfont or installed locally,
   it will be used. Otherwise this falls back to Inter.
*/

.sic-slide-frame h1,
.sic-slide-frame h2,
.sic-slide-frame h3,
.sic-slide-frame h4,
.sic-slide-frame h5,
.sic-slide-frame h6,

.sic-content-label,
.sic-slide-type-label,
.sic-quiz-kicker,

.sic-map-status-kicker,
.sic-map-status-title {
  font-family:
    "Cal Sans",
    Inter,
    sans-serif;
}


/* ==========================================================
   16:9 SLIDE AS THE REFERENCE CANVAS
========================================================== */

/*
   The slide itself becomes a CSS sizing container.

   Descendants can now use:
     1cqw = 1% of the actual slide width

   rather than:
     1vw = 1% of the browser viewport width.

   This is the important portability change.
*/

.sic-slide-frame {
  container-type: inline-size;
  container-name: sic-slide;
}


/*
   Percentage padding is based on the slide width itself.

   These values reproduce approximately the old spacing
   on a true 16:9 screen but no longer grow because a
   browser viewport happens to be taller.
*/

.sic-slide[data-canvas="standard"]
.sic-slide-frame {
  padding:
    2.8125%
    2.8125%
    calc(
      2.8125% +
      var(--sic-topic-safe-area)
    );
}


.sic-slide[data-canvas="wide"]
.sic-slide-frame {
  padding:
    1.75%
    1.75%
    calc(
      1.75% +
      var(--sic-topic-safe-area)
    );
}


/* ==========================================================
   GENERAL PRESENTATION TYPOGRAPHY
========================================================== */

@supports (font-size: 1cqw) {

  /*
     5.2vmin on a 16:9 slide corresponds to approximately
     2.925% of slide width.
  */

  .sic-slide-frame
  .sic-slide-content h1,

  .sic-slide-frame
  .sic-poem-content h1 {
    font-size: 2.925cqw;
  }


  .sic-slide-frame
  .sic-slide-content h2,

  .sic-slide-frame
  .sic-poem-content h2 {
    font-size: 2cqw;
  }


  .sic-slide-frame
  .sic-slide-content h3,

  .sic-slide-frame
  .sic-poem-content h3 {
    font-size: 3cqw;
  }


  /*
     Replace the generic clamp/rem/vmin text-size classes
     with proportions of the actual presentation canvas.
  */

  .sic-slide.sic-text-small
  .sic-slide-frame
  .sic-slide-content p,

  .sic-slide.sic-text-small
  .sic-slide-frame
  .sic-slide-content li {
    font-size: .70cqw;
  }


  .sic-slide.sic-text-medium
  .sic-slide-frame
  .sic-slide-content p,

  .sic-slide.sic-text-medium
  .sic-slide-frame
  .sic-slide-content li {
    font-size: 1.125cqw;
  }


  .sic-slide.sic-text-large
  .sic-slide-frame
  .sic-slide-content p,

  .sic-slide.sic-text-large
  .sic-slide-frame
  .sic-slide-content li {
    font-size: 1.4625cqw;
  }


  .sic-slide.sic-text-xl
  .sic-slide-frame
  .sic-slide-content p,

  .sic-slide.sic-text-xl
  .sic-slide-frame
  .sic-slide-content li {
    font-size: 1.8cqw;
  }


  .sic-slide-frame
  .sic-content-label,

  .sic-slide-frame
  .sic-slide-type-label,

  .sic-slide-frame
  .sic-quiz-kicker {
    font-size: .72cqw !important;
  }


  /*
     Large discussion/question slides.
  */

  .sic-slide-frame
  .sic-question-slide-content h1,

  .sic-slide-frame
  .sic-question-slide-content p {
    font-size: 3.375cqw;
  }

}


/* ==========================================================
   FACTSHEET

   Important:
   These selectors deliberately outrank sic-text-medium.
   The generic text-size class was making the factsheet
   substantially larger than its own configured body size.
========================================================== */

@supports (font-size: 1cqw) {

  .sic-slide-layout-factsheet
  .sic-factsheet-header h1 {
    font-size:
      calc(
        3.5cqw *
        var(--sic-fs-title-scale, 1)
      ) !important;
  }


  .sic-slide-layout-factsheet
  .sic-factsheet-copy h2 {
    font-size:
      calc(
        1.45cqw *
        var(--sic-fs-heading-scale, 1)
      ) !important;
  }


  .sic-slide-layout-factsheet
  .sic-factsheet-copy p {
    font-size:
      calc(
        .95cqw *
        var(--sic-fs-body-scale, 1)
      ) !important;

    line-height:
      var(
        --sic-fs-line-height,
        1.28
      ) !important;
  }


  /*
     Dense factsheets use a smaller baseline.
  */

  .sic-slide-layout-factsheet
  .sic-factsheet-density-compact
  .sic-factsheet-copy h2 {
    font-size:
      calc(
        1.25cqw *
        var(--sic-fs-heading-scale, 1)
      ) !important;
  }


  .sic-slide-layout-factsheet
  .sic-factsheet-density-compact
  .sic-factsheet-copy p {
    font-size:
      calc(
        .82cqw *
        var(--sic-fs-body-scale, 1)
      ) !important;

    line-height:
      var(
        --sic-fs-line-height,
        1.22
      ) !important;
  }


  .sic-slide-layout-factsheet
  .sic-factsheet-columns {
    column-gap:
      calc(
        3.2cqw *
        var(
          --sic-fs-column-gap-scale,
          1
        )
      );
  }


  .sic-slide-layout-factsheet
  .sic-factsheet-column {
    gap:
      calc(
        1.15cqw *
        var(
          --sic-fs-item-gap-scale,
          1
        )
      );
  }


  .sic-slide-layout-factsheet
  .sic-factsheet {
    gap:
      calc(
        1.35cqw *
        var(
          --sic-fs-header-gap-scale,
          1
        )
      );
  }

}


/* ==========================================================
   FACTSHEET INTERACTIVE HIGHLIGHTING
========================================================== */

.sic-factsheet-line {
  cursor: pointer;

  border-radius: .15em;

  transition:
    background-color 120ms ease,
    color 120ms ease,
    box-shadow 120ms ease;

  outline: none;
}


/*
   Light theme:
   dark background / white copy.
*/

.sic-factsheet-line.is-highlighted {
  background: #050505;

  color: #fff !important;

  box-shadow:
    0 0 0 .28em #050505;
}


/*
   Dark theme:
   light background / dark copy.
*/

body.sic-presentation-dark
.sic-factsheet-line.is-highlighted {
  background: #f5f5f5;

  color: #050505 !important;

  box-shadow:
    0 0 0 .28em #f5f5f5;
}


.sic-factsheet-line:focus-visible {
  outline:
    2px solid
    var(--sic-accent);

  outline-offset: .2em;
}


/* ==========================================================
   BILINGUAL POEMS
========================================================== */

@supports (font-size: 1cqw) {

  /*
     size: 1.2
     now means:
     1.2% of the actual 16:9 slide width.

     The old vw property remains in the template as a fallback.
  */

  .sic-poem-language
  .sic-poem-text-source {
    font-size:
      calc(
        var(--sic-poem-scale, 1.45)
        *
        1cqw
      ) !important;

    line-height:
      var(
        --sic-poem-line-height,
        1.35
      ) !important;

    column-gap:
      calc(
        var(--sic-poem-column-gap, 2.2)
        *
        1cqw
      ) !important;
  }


  /*
     Preserve the existing configured number of columns.
  */

  .sic-poem-language
  .sic-poem-text-source {
    column-count:
      var(--sic-poem-columns, 1);
  }


  /*
     Blank-line-separated Markdown stanzas normally become
     separate paragraphs. Their spacing can now be controlled.
  */

  .sic-poem-language
  .sic-poem-text-source > p {
    margin-top: 0;

    margin-bottom:
      calc(
        var(--sic-poem-stanza-gap, 1)
        *
        1em
      );
  }


  .sic-poem-language
  .sic-poem-text-source > p:last-child {
    margin-bottom: 0;
  }


  .sic-poem-reading-title {
    font-size: 2.4cqw !important;
  }


  .sic-poem-language-label {
    font-size: .72cqw;
  }

}


/* === SIC CANVAS RELATIVE SYSTEM: END === */

/* === CENSORSHIP PAGES === */

.sic-censorship-frame {
  padding: 2.2cqw 3cqw;
}

.sic-censorship-layout {
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: 1fr 1.08fr;
  gap: 2.5cqw;
  min-width: 0;
  min-height: 0;
}

.sic-censorship-left {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 1.4cqw;
  min-height: 0;
}

.sic-censorship-left figure,
.sic-censorship-right figure {
  margin: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.sic-censorship-left img,
.sic-censorship-right img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.sic-censorship-right {
  min-width: 0;
  min-height: 0;
}

/* === SECTION TITLE SLIDES === */

.sic-section-title-frame {
  width: 100%;
  height: 100%;
  padding: 0;
}

.sic-section-title-layout {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;

  display: flex;
  align-items: center;
  justify-content: center;
}

.sic-section-title-word {
  position: relative;

  font-family: "Cal Sans", Inter, sans-serif;
  font-size: 5.2cqw;
  line-height: .95;
  font-weight: 600;
  letter-spacing: -.035em;
  text-transform: uppercase;

  color: var(--sic-accent, #5e5ce6);
  text-align: center;

  padding: 1.15cqw 2.5cqw 1cqw;
}

.sic-section-title-word::before,
.sic-section-title-word::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;

  width: 1.35cqw;

  border-top: .8cqw solid currentColor;
  border-bottom: .8cqw solid currentColor;
}

.sic-section-title-word::before {
  left: 0;
  border-left: .8cqw solid currentColor;
}

.sic-section-title-word::after {
  right: 0;
  border-right: .8cqw solid currentColor;
}

/* === END SECTION TITLE SLIDES === */

/* === ESCAPE MAP PHOTO OVERLAY === */

.sic-map-escape-overlay {
  position: absolute;
  inset: 0;
  z-index: 18;

  display: grid;
  place-items: center;

  padding: 5cqw;

  background: rgba(0, 0, 0, 0.34);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);

  pointer-events: none;
}

.sic-map-escape-overlay[hidden] {
  display: none;
}

.sic-map-escape-photos {
  width: min(84%, 86rem);
  height: min(70%, 48rem);

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.4cqw;
}

.sic-map-escape-photo {
  margin: 0;

  min-width: 0;
  height: 100%;
  flex: 1 1 0;

  display: grid;
  place-items: center;

  padding: .45cqw;

  background: #fff;
}

.sic-map-escape-photo img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: contain;
}

/* === END ESCAPE MAP PHOTO OVERLAY === */

/* === ESCAPE MAP PHOTO OVERLAY — sizing fix === */

.sic-map-escape-overlay {
  box-sizing: border-box;
  padding: 4cqw;

  display: flex;
  align-items: center;
  justify-content: center;

  overflow: hidden;
}

.sic-map-escape-photos {
  width: 86%;
  height: 62%;

  max-width: 86rem;
  max-height: 70%;

  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 1.2cqw;

  box-sizing: border-box;
}

.sic-map-escape-photo {
  margin: 0;
  padding: .45cqw;

  flex: 1 1 0;
  min-width: 0;
  min-height: 0;

  height: 100%;

  box-sizing: border-box;
  overflow: hidden;

  background: #fff;
}

.sic-map-escape-photo img {
  display: block;

  width: 100%;
  height: 100%;

  max-width: 100%;
  max-height: 100%;

  object-fit: contain;
}

/* === END ESCAPE MAP PHOTO OVERLAY FIX === */

/* === FULL-MEDIA VIDEO BACKGROUND === */

.sic-slide-layout-full-media,
.sic-slide-layout-full-media .sic-slide-frame,
.sic-slide-layout-full-media .sic-slide-full-media-frame,
.sic-slide-layout-full-media video {
  background: #000 !important;
}

.sic-slide-layout-full-media video {
  object-fit: contain;
}

/* === END FULL-MEDIA VIDEO BACKGROUND === */

/* === STAGED VIDEO === */

.sic-slide.staged-video {
  background: #000;
}

.sic-slide.staged-video .sic-slide-frame,
.sic-slide.staged-video .sic-slide-full-media-frame {
  background: #000 !important;
}

.sic-slide.staged-video .sic-slide-video {
  opacity: 0;
  transition: opacity 280ms ease;
}

.sic-slide.staged-video[data-video-stage="ready"] .sic-slide-video,
.sic-slide.staged-video[data-video-stage="playing"] .sic-slide-video,
.sic-slide.staged-video[data-video-stage="ended"] .sic-slide-video {
  opacity: 1;
}

/* Subtle play indication once the first frame is revealed */
.sic-slide.staged-video[data-video-stage="ready"]
.sic-slide-full-media-frame::after {
  content: "▶";

  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);

  z-index: 6;

  display: grid;
  place-items: center;

  width: 5cqw;
  height: 5cqw;

  border-radius: 50%;

  background: rgba(0, 0, 0, .48);
  color: rgba(255, 255, 255, .9);

  font-size: 2cqw;
  line-height: 1;

  pointer-events: none;
}

/* === END STAGED VIDEO === */

/* === IRAN TODAY STAGED GALLERY === */

.sic-gallery-sequence-frame {
  padding: 3.2cqw 4cqw 5cqw;
}

.sic-gallery-sequence {
  position: relative;
  width: 100%;
  height: 100%;
}

.sic-gallery-sequence-stage {
  position: absolute;
  inset: 0;

  opacity: 0;
  visibility: hidden;

  transition:
    opacity 650ms ease,
    visibility 0s linear 650ms;
}

.sic-gallery-sequence-stage.is-active {
  opacity: 1;
  visibility: visible;

  transition:
    opacity 650ms ease,
    visibility 0s;
}

.sic-gallery-sequence-grid {
  width: 100%;
  height: 100%;

  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);

  gap: 1cqw;
}

.sic-gallery-sequence-item {
  margin: 0;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

.sic-gallery-sequence-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sic-gallery-sequence-label {
  position: absolute;
  left: 1cqw;
  bottom: 1cqw;

  padding: .45cqw .8cqw;

  background: rgba(0, 0, 0, .68);
  color: #fff;

  font-family: "Cal Sans", Inter, sans-serif;
  font-size: 1.15cqw;
  line-height: 1;
  letter-spacing: .04em;
  text-transform: uppercase;
}

/* === END IRAN TODAY STAGED GALLERY === */

/* === HUN ER IKKE KVINNE — OVERVIEW CLEANUP === */

.sic-overview-frame {
  gap: .8%;
  padding:
    1.5%
    1.8%
    1.7%;
}

.sic-overview-grid {
  grid-template-columns:
    repeat(6, minmax(0, 1fr));

  grid-auto-flow: row;
  grid-auto-rows: auto;

  gap:
    .62cqw
    .72cqw;

  align-content: start;

  padding:
    .15cqw
    .2cqw
    .45cqw;

  overflow-x: hidden;
  overflow-y: auto;
}

.sic-overview-card {
  display: block;

  width: 100%;
  height: auto;
  min-width: 0;
  min-height: 0;

  aspect-ratio: 16 / 9;

  align-self: start;

  contain: layout paint;
  isolation: isolate;
}

.sic-overview-title-only {
  padding:
    1.2cqw
    .85cqw;

  font-size: .78cqw;
  line-height: 1.08;
}

.sic-overview-thumb-title {
  left: .48cqw;
  right: .48cqw;
  bottom: .42cqw;

  font-size: .59cqw;
  line-height: 1.06;
}

.sic-overview-number {
  top: .31cqw;
  left: .35cqw;

  min-width: 1.12cqw;
  height: 1.12cqw;

  font-size: .45cqw;
}

.sic-overview-section {
  top: .32cqw;
  right: .35cqw;

  max-width: 54%;

  font-size: .36cqw;
}

/* === END OVERVIEW CLEANUP === */

/* === COMPETITION QUIZ === */

.sic-competition-quiz {
  position: relative;
  width: 100%;
  height: 100%;
}

.sic-competition-quiz-frame {
  overflow: hidden;
}


/* Class start */

.sic-quiz-start {
  position: absolute;
  inset: 0;
  z-index: 20;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  gap: 1.4cqw;

  background: var(--sic-bg);
}

.sic-quiz-start[hidden] {
  display: none;
}

.sic-quiz-start label {
  font-family: "Cal Sans", Inter, sans-serif;
  font-size: 2.1cqw;
  font-weight: 600;
}

.sic-quiz-start-row {
  display: flex;
  gap: .8cqw;
}

.sic-quiz-start input {
  width: 30cqw;

  padding: .85cqw 1cqw;

  border: 1px solid var(--sic-line);
  border-radius: .25cqw;

  background: var(--sic-panel);
  color: var(--sic-fg);

  font: inherit;
  font-size: 1.2cqw;
}

.sic-quiz-start button,
.sic-quiz-number-entry button,
.sic-quiz-timezone-entry > button {
  padding: .8cqw 1.25cqw;

  border: 0;
  border-radius: .25cqw;

  background: var(--sic-accent);
  color: #fff;

  font: inherit;
  font-weight: 650;

  cursor: pointer;
}


/* Header / live score */

.sic-quiz-heading {
  display: flex;
  flex-direction: column;
  gap: .25cqw;
}

.sic-quiz-class-display {
  font-size: .8cqw;
  color: var(--sic-muted);
}

.sic-competition-score {
  display: inline-flex;
  align-items: baseline;
  gap: .34cqw;

  padding: .55cqw .8cqw;

  border: 1px solid var(--sic-accent);

  font-size: .65cqw;
  letter-spacing: .06em;
}

.sic-competition-score strong {
  color: var(--sic-accent);

  font-family: "Cal Sans", Inter, sans-serif;
  font-size: 1.45cqw;
  letter-spacing: -.02em;
}

.sic-competition-score small {
  font-size: .7cqw;
}

.sic-quiz-reset {
  border: 0;
  background: transparent;
  color: var(--sic-muted);

  font: inherit;
  font-size: .58cqw;

  cursor: pointer;
}


/* Number question */

.sic-quiz-reference {
  margin: 1.4cqw auto 1.8cqw;

  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: .8cqw;

  color: var(--sic-muted);

  font-size: 1cqw;
}

.sic-quiz-reference strong {
  color: var(--sic-fg);

  font-family: "Cal Sans", Inter, sans-serif;
  font-size: 1.45cqw;
}

.sic-quiz-number-entry {
  display: flex;
  align-items: center;
  justify-content: center;

  gap: .8cqw;
}

.sic-quiz-number-entry input {
  width: 20cqw;

  padding: .8cqw;

  border: 1px solid var(--sic-line);

  background: var(--sic-panel);
  color: var(--sic-fg);

  font-family: "Cal Sans", Inter, sans-serif;
  font-size: 2cqw;
  text-align: right;

  font-variant-numeric: tabular-nums;
}

.sic-quiz-unit {
  font-size: 1.1cqw;
  color: var(--sic-muted);
}


/* Timezone question */

.sic-quiz-timezone-entry {
  margin-top: 2cqw;

  display: flex;
  align-items: end;
  justify-content: center;

  gap: 1.1cqw;
}

.sic-quiz-timezone-entry label {
  display: grid;
  gap: .35cqw;

  color: var(--sic-muted);

  font-size: .65cqw;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.sic-quiz-timezone-entry select,
.sic-quiz-timezone-entry input {
  width: 8cqw;

  box-sizing: border-box;

  padding: .65cqw;

  border: 1px solid var(--sic-line);

  background: var(--sic-panel);
  color: var(--sic-fg);

  font-family: "Cal Sans", Inter, sans-serif;
  font-size: 1.65cqw;
  text-align: center;
}

.sic-quiz-timezone-note {
  margin: .9cqw 0 0;

  text-align: center;
  color: var(--sic-muted);

  font-size: .65cqw;
}


/* Input warning */

.sic-quiz input.is-input-error {
  border-color: var(--sic-accent);
  box-shadow: 0 0 0 2px var(--sic-accent);
}


/* Final score reveal */

.sic-quiz-final {
  position: absolute;
  inset: 0;
  z-index: 30;

  display: none;
  place-items: center;
  align-content: center;

  text-align: center;

  background: var(--sic-bg);

  pointer-events: none;
}

.sic-quiz-final.is-visible {
  display: grid;

  animation:
    sic-quiz-final-flash
    900ms
    cubic-bezier(.2,.8,.2,1)
    both;
}

.sic-quiz-final p {
  margin: 0 0 .9cqw;

  color: var(--sic-accent);

  font-size: .75cqw;
  font-weight: 650;

  letter-spacing: .14em;
  text-transform: uppercase;
}

.sic-quiz-final h2 {
  margin: 0 0 1.1cqw;

  font-family: "Cal Sans", Inter, sans-serif;
  font-size: 2.5cqw;
  line-height: 1;
}

.sic-quiz-final-score {
  display: flex;
  align-items: baseline;
  justify-content: center;

  gap: .7cqw;
}

.sic-quiz-final-score strong {
  color: var(--sic-accent);

  font-family: "Cal Sans", Inter, sans-serif;
  font-size: 7cqw;
  line-height: .9;

  font-variant-numeric: tabular-nums;
}

.sic-quiz-final-score span {
  font-size: 1.6cqw;
  color: var(--sic-muted);
}

@keyframes sic-quiz-final-flash {
  0% {
    opacity: 0;
    transform: scale(.92);
  }

  55% {
    opacity: 1;
    transform: scale(1.045);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

/* === END COMPETITION QUIZ === */

/* === COMPETITION LEADERBOARD === */

.sic-quiz-leaderboard-button,
.sic-quiz-start-leaderboard {
  border: 1px solid var(--sic-line);
  background: transparent;
  color: var(--sic-fg);

  padding: .65cqw .85cqw;

  font: inherit;
  font-size: .65cqw;

  cursor: pointer;
}

.sic-quiz-start-leaderboard {
  font-size: .8cqw;
}


.sic-quiz-leaderboard {
  position: absolute;
  inset: 0;

  z-index: 50;

  display: none;

  box-sizing: border-box;

  padding: 4cqw 7cqw;

  background: var(--sic-bg);
  color: var(--sic-fg);
}

.sic-quiz-leaderboard.is-visible {
  display: block;
}


.sic-quiz-leaderboard-panel {
  width: 100%;
  height: 100%;

  display: grid;

  grid-template-rows:
    auto
    auto
    minmax(0, 1fr);

  gap: 1.1cqw;
}


.sic-quiz-leaderboard-header {
  display: flex;

  align-items: start;
  justify-content: space-between;

  gap: 3cqw;
}

.sic-quiz-leaderboard-header p {
  margin: 0 0 .35cqw;

  color: var(--sic-accent);

  font-size: .62cqw;
  font-weight: 650;

  letter-spacing: .14em;
}

.sic-quiz-leaderboard-header h2 {
  margin: 0;

  font-family:
    "Cal Sans",
    Inter,
    sans-serif;

  font-size: 3cqw;
  line-height: 1;
}


.sic-quiz-leaderboard-close {
  border: 0;

  background: transparent;
  color: var(--sic-muted);

  font-size: 2.3cqw;
  line-height: 1;

  cursor: pointer;
}


.sic-quiz-leaderboard-status {
  color: var(--sic-muted);

  font-size: .72cqw;
}


.sic-quiz-leaderboard-list {
  min-height: 0;

  overflow-y: auto;

  border-top:
    1px solid
    var(--sic-line);
}


.sic-quiz-leaderboard-row {
  min-height: 3.4cqw;

  display: grid;

  grid-template-columns:
    3.2cqw
    minmax(0, 1fr)
    auto
    2.6cqw;

  align-items: center;

  gap: 1cqw;

  border-bottom:
    1px solid
    var(--sic-line);
}


.sic-quiz-leaderboard-rank {
  color: var(--sic-muted);

  font-family:
    "Cal Sans",
    Inter,
    sans-serif;

  font-size: 1.3cqw;

  font-variant-numeric:
    tabular-nums;
}


.sic-quiz-leaderboard-class {
  min-width: 0;

  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;

  font-family:
    "Cal Sans",
    Inter,
    sans-serif;

  font-size: 1.35cqw;
  font-weight: 550;
}


.sic-quiz-leaderboard-score {
  color: var(--sic-accent);

  font-family:
    "Cal Sans",
    Inter,
    sans-serif;

  font-size: 1.45cqw;

  font-variant-numeric:
    tabular-nums;
}


.sic-quiz-leaderboard-delete {
  width: 2cqw;
  height: 2cqw;

  display: grid;
  place-items: center;

  border: 0;
  border-radius: 50%;

  background: transparent;
  color: var(--sic-muted);

  font-size: 1.25cqw;
  line-height: 1;

  cursor: pointer;
}

.sic-quiz-leaderboard-delete:hover {
  background: rgba(0, 0, 0, .07);
  color: var(--sic-fg);
}

body.sic-presentation-dark
.sic-quiz-leaderboard-delete:hover {
  background: rgba(255, 255, 255, .09);
}

/* === END COMPETITION LEADERBOARD === */

/* === CURRENT CLASS LEADERBOARD HIGHLIGHT === */

.sic-quiz-leaderboard-row.is-current-class {
  position: relative;

  outline:
    .16cqw solid
    var(--sic-accent);

  outline-offset:
    -.16cqw;

  background:
    color-mix(
      in srgb,
      var(--sic-accent) 10%,
      var(--sic-bg)
    );
}

.sic-quiz-leaderboard-row.is-current-class
.sic-quiz-leaderboard-rank {
  color: var(--sic-accent);
  font-weight: 700;
}

.sic-quiz-leaderboard-row.is-current-class
.sic-quiz-leaderboard-class {
  color: var(--sic-accent);
}

.sic-quiz-leaderboard-row.is-current-class
.sic-quiz-leaderboard-class::after {
  content: "YOUR CLASS";

  margin-left: .65cqw;

  color: var(--sic-muted);

  font-family: Inter, sans-serif;
  font-size: .48cqw;
  font-weight: 650;

  letter-spacing: .1em;
}

/* === END CURRENT CLASS HIGHLIGHT === */

/* Intro highlighted terms: colour only, no bounce */
.sic-introduction-statement strong,
.sic-introduction.is-mapped .sic-introduction-statement strong {
  color: var(--sic-accent);
  animation: none !important;
  transform: none !important;
}


/* ICORN logo: dark in light mode, white in dark mode */
body:not(.sic-presentation-dark) .sic-map-icorn-logo {
  filter: invert(1);
}

body.sic-presentation-dark .sic-map-icorn-logo {
  filter: none;
}


/* === POEM 2 — FARSI REVEAL === */

.sic-farsi-poem-reveal-stage {
  position: relative;

  width: 100%;
  height: 100%;

  min-width: 0;
  min-height: 0;

  overflow: hidden;
}


/* Existing book introduction */

.sic-farsi-poem-intro {
  position: absolute;
  inset: 0;

  transition:
    opacity 750ms ease,
    transform 750ms ease;

  opacity: 1;
  transform: translateY(0);

  pointer-events: auto;
}


/* Farsi reading */

.sic-farsi-poem-reading {
  position: absolute;
  inset: 0;

  display: grid;

  grid-template-columns:
    minmax(0, .42fr)
    minmax(0, .58fr);

  align-items: center;

  opacity: 0;

  transform:
    translateY(.6cqw);

  transition:
    opacity 900ms ease,
    transform 900ms ease;

  pointer-events: none;
}


.sic-farsi-poem-reading-inner {
  grid-column: 2;

  width: 100%;
  max-height: 82%;

  box-sizing: border-box;

  padding:
    1cqw
    6cqw
    1cqw
    2cqw;

  direction: rtl;
  text-align: right;

  unicode-bidi: plaintext;

  overflow: hidden;
}


.sic-farsi-poem-text {
  column-count:
    var(--sic-farsi-columns, 1);

  column-gap:
    var(--sic-farsi-column-gap, 2.2vw);

  column-fill: balance;

  font-size:
    var(--sic-farsi-size, 1.45vw);

  line-height:
    var(--sic-farsi-line-height, 1.5);

  font-family:
    var(--sic-font-body),
    sans-serif;

  white-space: normal;
}


/* Reveal state */

.sic-farsi-poem-reveal-stage.is-farsi-visible
.sic-farsi-poem-intro {
  opacity: 0;

  transform:
    translateY(-.5cqw);

  pointer-events: none;
}


.sic-farsi-poem-reveal-stage.is-farsi-visible
.sic-farsi-poem-reading {
  opacity: 1;

  transform:
    translateY(0);

  pointer-events: auto;
}

/* === END POEM 2 — FARSI REVEAL === */

/* === POEM 2 — keep book cover during Farsi reading === */

/* Keep the intro layer itself visible */
.sic-farsi-poem-reveal-stage.is-farsi-visible
.sic-farsi-poem-intro {
  opacity: 1;
  transform: none;
  pointer-events: none;
}

/* Only fade away the right-hand title/author/publication */
.sic-farsi-poem-intro .sic-poem-intro-copy {
  opacity: 1;
  transform: translateY(0);

  transition:
    opacity 700ms ease,
    transform 700ms ease;
}

.sic-farsi-poem-reveal-stage.is-farsi-visible
.sic-farsi-poem-intro .sic-poem-intro-copy {
  opacity: 0;
  transform: translateY(-.35cqw);
}

/* The book cover remains fully visible */
.sic-farsi-poem-reveal-stage.is-farsi-visible
.sic-poem-intro-cover {
  opacity: 1;
  transform: none;
}

/* Farsi fades into the right-hand space */
.sic-farsi-poem-reading {
  z-index: 2;
  background: transparent;
}

/* === END POEM 2 COVER-PRESERVING REVEAL === */

/* Poem reveal: respect language direction from frontmatter */
.sic-farsi-poem-reading-inner[dir="rtl"] {
  direction: rtl;
  text-align: right;
}

.sic-farsi-poem-reading-inner[dir="ltr"] {
  direction: ltr;
  text-align: left;
}


/* === GROUPED MISSING-WORD ACTIVITY === */

.sic-missing-group-number {
  display: inline-grid;
  place-items: center;

  width: 1.45em;
  height: 1.45em;

  margin:
    0
    .28em
    0
    .12em;

  border:
    .08em solid
    var(--sic-accent);

  border-radius: 50%;

  color: var(--sic-accent);

  font-family:
    "Cal Sans",
    Inter,
    sans-serif;

  font-size: .56em;
  font-weight: 650;
  line-height: 1;

  vertical-align: .13em;
}


.sic-missing-gap.is-grouped-gap {
  position: relative;

  display: inline-flex;
  align-items: flex-end;

  width: auto !important;
  min-width: 0 !important;

  margin: 0 .08em;

  border: 0 !important;

  vertical-align: baseline;
}


.sic-missing-gap-placeholders {
  display: inline-flex;
  align-items: flex-end;

  gap: .35em;

  opacity: 1;

  transition:
    opacity 220ms ease;
}


.sic-missing-gap-segment {
  display: inline-block;

  width:
    var(
      --sic-gap-part-width,
      7ch
    );

  height: .88em;

  box-sizing: border-box;

  border-bottom:
    .09em solid
    currentColor;

  opacity: .58;
}


.sic-missing-gap.is-grouped-gap
.sic-missing-gap-answer {
  position: absolute;

  left: 0;
  bottom: 0;

  width: max-content;

  opacity: 0;
  visibility: hidden;

  color: var(--sic-accent);

  font-weight: 650;

  white-space: nowrap;

  transition:
    opacity 240ms ease;
}


.sic-missing-gap.is-grouped-gap.is-revealed
.sic-missing-gap-placeholders {
  opacity: 0;
}


.sic-missing-gap.is-grouped-gap.is-revealed
.sic-missing-gap-answer {
  opacity: 1;
  visibility: visible;
}


/* Small pulse only on the answer just revealed */
.sic-missing-gap.is-grouped-gap.is-fresh
.sic-missing-gap-answer {
  animation:
    sic-grouped-gap-reveal
    420ms ease both;
}


@keyframes sic-grouped-gap-reveal {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

/* === END GROUPED MISSING-WORD ACTIVITY === */

/* === MISSING WORD — CENSORSHIP REDACTION BARS === */

.sic-missing-gap-placeholders {
  gap: .28em;
}

.sic-missing-gap-segment {
  display: inline-block;

  width:
    var(
      --sic-gap-part-width,
      7ch
    );

  height: .72em;

  margin-bottom: .08em;

  border: 0 !important;
  border-radius: .05em;

  background: #111;

  opacity: 1;

  vertical-align: baseline;
}


/* White redaction bars in presentation dark mode */
body.sic-presentation-dark
.sic-missing-gap-segment {
  background: #f2f2f0;
}


/* Revealed word */
.sic-missing-gap.is-grouped-gap
.sic-missing-gap-answer {
  color: var(--sic-accent);

  font-weight: 650;
}


/* Slightly cleaner transition from censorship bar to text */
.sic-missing-gap.is-grouped-gap
.sic-missing-gap-placeholders {
  transform: scaleX(1);
  transform-origin: left center;

  transition:
    opacity 220ms ease,
    transform 260ms ease;
}

.sic-missing-gap.is-grouped-gap.is-revealed
.sic-missing-gap-placeholders {
  opacity: 0;
  transform: scaleX(.96);
}

/* === END CENSORSHIP REDACTION BARS === */

/* === MISSING WORD — ACTUAL REDACTION BAR OVERRIDE === */

/*
   The existing template still uses .sic-missing-gap directly.
   Turn that element itself into the censorship bar.
*/

.sic-slide-layout-missing-word .sic-missing-gap {
  position: relative;

  min-width: var(--sic-gap-width, 7ch);
  height: .78em;

  margin:
    0
    .16em;

  border: 0 !important;
  border-bottom: 0 !important;

  border-radius: .055em;

  background: #111;

  vertical-align: -.04em;

  transition:
    background 220ms ease,
    opacity 220ms ease;
}


/* Dark presentation: reverse the redaction */
body.sic-presentation-dark
.sic-slide-layout-missing-word
.sic-missing-gap {
  background: #f2f2f0;
}


/* Hidden answer occupies the same space */
.sic-slide-layout-missing-word
.sic-missing-gap-answer {
  opacity: 0;

  color: var(--sic-accent);

  font-weight: 650;

  white-space: nowrap;
}


/* Reveal removes the censorship bar */
.sic-slide-layout-missing-word
.sic-missing-gap.is-revealed {
  background: transparent;
}


/* Revealed text is always accent pink */
.sic-slide-layout-missing-word
.sic-missing-gap.is-revealed
.sic-missing-gap-answer {
  opacity: 1;
  color: var(--sic-accent);
}


/* Fresh reveal: subtle appearance only */
.sic-slide-layout-missing-word
.sic-missing-gap.is-fresh
.sic-missing-gap-answer {
  color: var(--sic-accent);
}

/* === END ACTUAL REDACTION BAR OVERRIDE === */

/* === MISSING WORD — ALIGNED REDACTION BARS + GROUP COLOURS === */

/*
   The gap keeps normal text-line geometry.
   The censorship bar is drawn inside it, so it aligns cleanly
   with surrounding text.
*/

.sic-slide-layout-missing-word
.sic-missing-gap[data-gap] {
  --sic-gap-group: var(--sic-accent);

  position: relative;

  display: inline-block;

  min-width: var(--sic-gap-width, 7ch);
  height: 1.05em;

  box-sizing: border-box;

  margin:
    0
    .14em;

  padding-left: .18em;

  border: 0 !important;
  border-bottom: 0 !important;
  border-left:
    .11em solid
    var(--sic-gap-group) !important;

  background: transparent !important;

  line-height: 1.05;

  vertical-align: -.08em;
}


/* The actual censorship block */
.sic-slide-layout-missing-word
.sic-missing-gap[data-gap]::before {
  content: "";

  position: absolute;

  left: .18em;
  right: 0;

  top: .18em;
  bottom: .14em;

  border-radius: .045em;

  background: #111;

  opacity: 1;

  transition:
    opacity 220ms ease,
    transform 240ms ease;

  transform-origin: left center;
}


/* Dark mode = white censorship block */
body.sic-presentation-dark
.sic-slide-layout-missing-word
.sic-missing-gap[data-gap]::before {
  background: #f2f2f0;
}


/* Five answer groups */

.sic-slide-layout-missing-word
.sic-missing-gap[data-gap="1"] {
  --sic-gap-group: var(--sic-accent);
}

.sic-slide-layout-missing-word
.sic-missing-gap[data-gap="2"] {
  --sic-gap-group: #48a7ff;
}

.sic-slide-layout-missing-word
.sic-missing-gap[data-gap="3"] {
  --sic-gap-group: #ff9f43;
}

.sic-slide-layout-missing-word
.sic-missing-gap[data-gap="4"] {
  --sic-gap-group: #42c98b;
}

.sic-slide-layout-missing-word
.sic-missing-gap[data-gap="5"] {
  --sic-gap-group: #b77cff;
}


/* Hidden answer still determines the correct gap width */
.sic-slide-layout-missing-word
.sic-missing-gap[data-gap]
.sic-missing-gap-answer {
  position: relative;
  z-index: 2;

  opacity: 0;

  color: var(--sic-accent);

  font-weight: 650;

  line-height: inherit;
}


/* Reveal removes only the censorship block */
.sic-slide-layout-missing-word
.sic-missing-gap[data-gap].is-revealed::before {
  opacity: 0;
  transform: scaleX(.96);
}


/* No light/dark background remains behind revealed words */
.sic-slide-layout-missing-word
.sic-missing-gap[data-gap].is-revealed {
  background: transparent !important;
}


/* Restored text */
.sic-slide-layout-missing-word
.sic-missing-gap[data-gap].is-revealed
.sic-missing-gap-answer {
  opacity: 1;

  color: var(--sic-accent);
}


/*
   Keep the group marker after reveal.
   This makes all repeated "kvinne" occurrences visibly connected.
*/
.sic-slide-layout-missing-word
.sic-missing-gap[data-gap].is-revealed {
  border-left-color:
    var(--sic-gap-group) !important;
}

/* === END ALIGNED REDACTION BARS + GROUP COLOURS === */

/* Competition quiz — secondary skip action */
.sic-quiz-start-skip {
  background: transparent !important;
  color: var(--sic-muted) !important;

  border:
    1px solid
    var(--sic-line) !important;
}

.sic-quiz-start-skip:hover {
  color: var(--sic-fg) !important;
  border-color: currentColor !important;
}


/* === EXTRAS MENU === */

.sic-extras-layer {
  position: fixed;
  inset: 0;
  z-index: 180;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: clamp(2rem, 5vw, 5rem);

  background: var(--sic-bg);

  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.sic-extras-layer.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.sic-extras-panel {
  width: min(90vw, 1100px);
}

.sic-extras-kicker {
  margin: 0 0 .6rem;

  color: var(--sic-accent);

  font-size: clamp(.75rem, 1vw, 1rem);
  font-weight: 700;
  letter-spacing: .13em;
}

.sic-extras-heading {
  margin: 0 0 3rem;

  font-size: clamp(3rem, 7vw, 6rem);
  line-height: .95;
  letter-spacing: -.05em;
}

.sic-extras-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.sic-extras-topic {
  min-height: 9rem;
  padding: 1.6rem;

  border: 1px solid var(--sic-line);

  background: transparent;
  color: var(--sic-fg);

  text-align: left;

  font: inherit;
  font-size: clamp(1.5rem, 3vw, 2.6rem);
  font-weight: 600;

  cursor: pointer;
}

.sic-extras-topic:hover {
  border-color: var(--sic-accent);
}

.sic-extras-back {
  margin-top: 2.5rem;
  padding: .5rem 0;

  border: 0;
  background: transparent;

  color: var(--sic-muted);

  font: inherit;
  cursor: pointer;
}

/* === END EXTRAS MENU === */


/* Thank-you closing slide */

.thank-you-slide .sic-slide-frame {
  display: flex;
  align-items: center;
}

.thank-you-slide .sic-slide-content {
  max-width: 58rem;
}

.thank-you-slide .sic-slide-content h1 {
  font-size: clamp(4rem, 9vw, 8rem);
  letter-spacing: -.055em;
  margin-bottom: 2rem;
}

.thank-you-slide .sic-slide-content p {
  max-width: 42rem;
}


/* Extras footer */

.sic-extras-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  margin-top: 2.5rem;
}

.sic-extras-reset {
  padding: .5rem 0;
  border: 0;
  background: transparent;
  color: var(--sic-accent);
  font: inherit;
  cursor: pointer;
}

.sic-extras-reset:hover,
.sic-extras-back:hover {
  color: var(--sic-fg);
}


/* === CENSORSHIP GAME: LAYOUT === */

.sic-censorship-game-frame {
  padding: clamp(1.5rem, 3vmin, 3.5rem)
           clamp(2rem, 4.5vmin, 5rem);
}

.sic-censorship-game {
  position: relative;
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: minmax(0, 2.4fr) minmax(17rem, .85fr);
  gap: clamp(2rem, 4vw, 5rem);
}

.sic-censorship-game-poem {
  align-self: center;
  columns: 2;
  column-gap: clamp(2.5rem, 4vw, 5rem);
  white-space: pre-line;
  font-size: clamp(.9rem, 1.22vw, 1.45rem);
  line-height: 1.42;
  font-weight: 430;
}

.sic-censorship-game-panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding-left: clamp(1.3rem, 2.2vw, 2.6rem);
  border-left: 1px solid var(--sic-line);
}


/* === CENSORSHIP GAME: PANEL === */

.sic-censorship-game-prompt {
  max-width: 15ch;
  margin: .6rem 0 clamp(2rem, 5vh, 4rem);
  color: var(--sic-fg);
  font-size: clamp(1.8rem, 3.4vw, 3.5rem);
  line-height: 1.02;
  font-weight: 600;
  letter-spacing: -.045em;
}

.sic-censorship-game-result {
  min-height: 8rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .65rem;
}

.sic-censorship-game-result strong {
  font-size: clamp(1.4rem, 2.5vw, 2.5rem);
  line-height: 1;
}

.sic-censorship-game-result span {
  font-size: clamp(.8rem, 1.1vw, 1.05rem);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .045em;
}

.sic-censorship-other-open {
  align-self: flex-start;
  margin-top: auto;
  padding: .6rem 0;
  border: 0;
  background: transparent;
  color: var(--sic-muted);
  font: inherit;
  cursor: pointer;
}

.sic-censorship-other-open:hover {
  color: var(--sic-fg);
}


/* === CENSORSHIP GAME: WORD TARGETS === */

.sic-censorship-target {
  display: inline;
  padding: 0 .13em;
  margin: 0 .025em;

  border: 2px solid currentColor;
  border-radius: .16em;

  background: transparent;
  color: inherit;

  font: inherit;
  line-height: inherit;

  cursor: pointer;
}

.sic-censorship-target:hover {
  border-color: var(--sic-accent);
}

.sic-censorship-target.is-censored {
  background: var(--sic-fg);
  border-color: var(--sic-fg);
  color: transparent;
}


/* frequency */

.sic-censorship-result-frequency[data-frequency="sometimes"] {
  color: #2f9e44;
}

.sic-censorship-result-frequency[data-frequency="often"] {
  color: #d97706;
}

.sic-censorship-result-frequency[data-frequency="always"] {
  color: #dc2626;
}


/* === CENSORSHIP GAME: OTHER WORDS === */

.sic-censorship-other-layer {
  position: absolute;
  inset: 0;
  z-index: 20;

  display: none;
  align-items: center;
  justify-content: center;

  background: var(--sic-bg);
}

.sic-censorship-other-layer.is-open {
  display: flex;
}

.sic-censorship-other-panel {
  width: min(88%, 70rem);
}

.sic-censorship-other-words {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(1rem, 2.5vw, 2rem);

  margin-top: clamp(2rem, 5vh, 4rem);
}

.sic-censorship-other-word {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: .7em 1.15em;

  background: var(--sic-fg);
  color: var(--sic-bg);

  font-size: clamp(1.6rem, 3.4vw, 3.6rem);
  font-weight: 650;
  line-height: 1;
}

.sic-censorship-other-close {
  margin-top: clamp(2rem, 5vh, 4rem);
  padding: .6rem 0;

  border: 0;
  background: transparent;

  color: var(--sic-muted);
  font: inherit;

  cursor: pointer;
}


/* === CENSORSHIP GAME: RESULT HISTORY === */

.sic-censorship-history {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: .65rem;
}

.sic-censorship-history-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1.2rem;

  padding: .6rem 0;

  border-top: 1px solid var(--sic-line);
}

.sic-censorship-history-word {
  font-size: clamp(1.05rem, 1.7vw, 1.7rem);
  line-height: 1.05;
  font-weight: 650;
}

.sic-censorship-history-frequency {
  flex: 0 0 auto;

  font-size: clamp(.65rem, .85vw, .85rem);
  font-weight: 700;

  text-transform: uppercase;
  letter-spacing: .04em;
}

.sic-censorship-history-frequency[data-frequency="sometimes"] {
  color: #2f9e44;
}

.sic-censorship-history-frequency[data-frequency="often"] {
  color: #d97706;
}

.sic-censorship-history-frequency[data-frequency="always"] {
  color: #dc2626;
}

.sic-censorship-reset {
  align-self: flex-start;

  margin-top: 1.2rem;
  padding: .45rem 0;

  border: 0;
  background: transparent;

  color: var(--sic-muted);
  font: inherit;
  font-size: .85rem;

  cursor: pointer;
}

.sic-censorship-reset:hover {
  color: var(--sic-fg);
}


/* === MORALITY POLICE: 1 + 2 GALLERY === */

.morality-police-gallery .sic-gallery-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: minmax(0, 1.25fr) minmax(0, 1fr);
}

.morality-police-gallery .sic-gallery-item:nth-child(1) {
  grid-column: 1 / -1;
  grid-row: 1;
}

.morality-police-gallery .sic-gallery-item:nth-child(2) {
  grid-column: 1;
  grid-row: 2;
}

.morality-police-gallery .sic-gallery-item:nth-child(3) {
  grid-column: 2;
  grid-row: 2;
}

.morality-police-gallery .sic-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


/* Morality police gallery: keep top of photos visible */
.morality-police-gallery .sic-gallery-item img {
  object-position: center top;
}


/* Morality police gallery: 1 large + 3 below */
.morality-police-gallery .sic-gallery-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: minmax(0, 1.25fr) minmax(0, 1fr);
}

.morality-police-gallery .sic-gallery-item:nth-child(1) {
  grid-column: 1 / -1;
  grid-row: 1;
}

.morality-police-gallery .sic-gallery-item:nth-child(2) {
  grid-column: 1;
  grid-row: 2;
}

.morality-police-gallery .sic-gallery-item:nth-child(3) {
  grid-column: 2;
  grid-row: 2;
}

.morality-police-gallery .sic-gallery-item:nth-child(4) {
  grid-column: 3;
  grid-row: 2;
}

