@charset "UTF-8";

#aratana-legacy-root .legacy-body {
      --ink: #3f00ff;
      --paper: #ccc;
      --accent: #000;
      --rule: #3f00ff;
      --mono: "Aratana", serif;
    }

    #aratana-legacy-root .legacy-body *, #aratana-legacy-root .legacy-body ::before, #aratana-legacy-root .legacy-body ::after { box-sizing: border-box; margin: 0; padding: 0; }

    #aratana-legacy-root .legacy-body { font-size: 1.0rem; }

    #aratana-legacy-root .legacy-body {
      color: var(--ink);
      font-family: "Aratana", serif;
      line-height: 2.0;
      -webkit-font-smoothing: antialiased;
      margin-top: 4.0rem;
    }

    /* ── Layout ── */
    #aratana-legacy-root .legacy-body .page { max-width: 56.4rem; margin: 0 auto; padding: 0 2.0rem; }

    #aratana-legacy-root .legacy-body section { padding: 4rem 0; border-bottom: 0.1rem solid var(--rule); }
    #aratana-legacy-root .legacy-body section:last-child { border-bottom: none; }

    #aratana-legacy-root .legacy-body .label {
      font-family: var(--mono);
      font-size: 1.0rem;
      letter-spacing: 0;
      text-transform: uppercase;
      color: var(--ink);
      margin-bottom: 2rem;
    }

    /* ── Cover ── */
    #aratana-legacy-root .legacy-body .cover {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0;
      min-height: 100vh;
      border: 0.1rem solid var(--ink);
      align-items: stretch;
    }

    #aratana-legacy-root .legacy-body .cover-left {
      background: var(--ink);
      color: var(--paper);
      padding: 5.2rem 3.6rem;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }

    #aratana-legacy-root .legacy-body .cover-right {
      padding: 5.2rem 3.6rem;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
    }

    #aratana-legacy-root .legacy-body .cover-title {
      font-size: clamp(4.4rem, 10vw, 7.6rem);
      line-height: 1.0;
      letter-spacing: 0;
    }

    #aratana-legacy-root .legacy-body .cover-sub {
      font-size: 1.0rem;
      text-transform: uppercase;
      color: var(--ink);
      font-family: var(--mono);
    }

    #aratana-legacy-root .legacy-body .cover-meta {
      font-size: 1.0rem;
      color: var(--ink);
      font-family: var(--mono);
    }

    #aratana-legacy-root .legacy-body .cover-specimen {
      font-size: clamp(6.4rem, 18vw, 12.0rem);
      line-height: 1;
      color: var(--paper);
      letter-spacing: 0;
      text-align: right;
      margin-bottom: 4rem;
    }

    #aratana-legacy-root .legacy-body .cover-tagline {
      font-size: clamp(1.0rem, 3vw, 1.5rem);
      line-height: 1.5;
      letter-spacing: 0;
    }

    /* ── Alphabet ── */
    #aratana-legacy-root .legacy-body .alpha-grid {
      display: grid;
      grid-template-columns: repeat(10, minmax(0, 1fr));
      gap: 0.4rem;
    }

    #aratana-legacy-root .legacy-body .alpha-cell {
      aspect-ratio: 1;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 2rem;
      border: 0.1rem solid var(--rule);
      transition: background .15s, color .15s;
      cursor: default;
    }

    #aratana-legacy-root .legacy-body .alpha-cell:hover { background: var(--ink); color: var(--paper); }

    #aratana-legacy-root .legacy-body .alpha-lower { margin-top: 2rem; }

    /* ── Numerals ── */
    #aratana-legacy-root .legacy-body .numeral-row {
      display: grid;
      grid-template-columns: repeat(10, minmax(0, 1fr));
      gap: 0.4rem;
      align-items: stretch;
    }

    #aratana-legacy-root .legacy-body .numeral {
      flex: 1;
      text-align: center;
      font-size: clamp(3.0rem, 7vw, 5.2rem);
      line-height: 1;
      border-right: 0.1rem solid var(--rule);
      padding: 1.5rem 0;
    }

    /* ── Punctuation ── */
    #aratana-legacy-root .legacy-body .punct-row {
      display: grid;
      grid-template-columns: repeat(10, minmax(0, 1fr));
      gap: 0.4rem;
    }

    #aratana-legacy-root .legacy-body .punct-cell {
      width: 3.0rem;
      height: 3.0rem;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.5rem;
      border: 0.1rem solid var(--rule);
    }

    /* ── Size scale ── */
    #aratana-legacy-root .legacy-body .scale-item {
      display: flex;
      align-items: baseline;
      gap: 0.4rem;
      padding: 0.8rem 0;
      border-bottom: 0.1rem solid var(--rule);
    }
    #aratana-legacy-root .legacy-body .scale-item:last-child { border-bottom: none; }

    #aratana-legacy-root .legacy-body .scale-size {
      width: 3.0rem;
      flex-shrink: 0;
      font-family: var(--mono);
      font-size: 1.0rem;
      color: var(--ink);
      text-align: right;
    }

    #aratana-legacy-root .legacy-body .scale-text { line-height: 1.1; }

    /* ── Pangram ── */
    #aratana-legacy-root .legacy-body .pangram {
      font-size: clamp(1.5rem, 4vw, 3.0rem);
      line-height: 1.5;
      letter-spacing: 0;
    }

    #aratana-legacy-root .legacy-body .pangram + .pangram { margin-top: 2rem; color: var(--ink); }

    /* ── Long-form ── */
    #aratana-legacy-root .legacy-body .body-text {
      font-size: 1.0rem;
      line-height: 2.0;
      max-width: 40rem;
    }

    #aratana-legacy-root .legacy-body .body-text p + p { margin-top: 2rem; }

    /* ── Pull quote ── */
    #aratana-legacy-root .legacy-body .pull-quote {
      font-size: clamp(2rem, 5vw, 3.6rem);
      line-height: 1.5;
      letter-spacing: 0;
      border-left: 0.1rem solid var(--ink);
      padding-left: 2rem;
    }

    /* ── Pairing ── */
    #aratana-legacy-root .legacy-body .pair-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0.4rem;
    }

    #aratana-legacy-root .legacy-body .pair-card {
      background: var(--ink);
      color: var(--paper);
      padding: 2rem;
    }

    #aratana-legacy-root .legacy-body .pair-card.dark {
      background: var(--ink);
      color: var(--paper);
    }

    #aratana-legacy-root .legacy-body .pair-card.accent {
      background: var(--accent);
      color: white;
    }

    #aratana-legacy-root .legacy-body .pair-huge { font-size: clamp(3.0rem, 7vw, 6.0rem); line-height: 1.0; }
    #aratana-legacy-root .legacy-body .pair-sub  { font-size: 1.0rem; margin-top: 2rem; letter-spacing: 0; text-transform: uppercase; opacity: .6; }

    /* ── Accented ── */
    #aratana-legacy-root .legacy-body .accent-grid {
      display: flex;
      flex-wrap: wrap;
      gap: 0.8rem;
    }

    #aratana-legacy-root .legacy-body .accent-cell {
      width: 3.6rem;
      height: 4.4rem;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      border: 0.1rem solid var(--rule);
      gap: 0.4rem;
    }

    #aratana-legacy-root .legacy-body .accent-char { font-size: 1.5rem; line-height: 1; }


    /* ── Tracking ── */
    #aratana-legacy-root .legacy-body .tracking-item {
      padding: 0.8rem 0;
      font-size: 1.0rem;
      border-bottom: 0.1rem solid var(--rule);
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    #aratana-legacy-root .legacy-body .tracking-item:last-child { border-bottom: none; }

    #aratana-legacy-root .legacy-body .tracking-label {
      font-family: var(--mono);
      font-size: 1.0rem;
      color: var(--ink);
    }

    /* ── Ligature / detail ── */
    #aratana-legacy-root .legacy-body .detail-row {
      display: flex;
      gap: 2.0rem;
      align-items: center;
      flex-wrap: wrap;
      margin-top: 2rem;
    }

    #aratana-legacy-root .legacy-body .detail-item {
      text-align: center;
    }

    #aratana-legacy-root .legacy-body .detail-glyph { font-size: 6rem; line-height: 1; }

    #aratana-legacy-root .legacy-body .detail-name {
      font-family: var(--mono);
      font-size: 1.0rem;
      color: var(--ink);
      margin-top: 2rem;
    }

    /* ── Footer ── */
    #aratana-legacy-root .legacy-body footer {
      padding: 3.0rem 0;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }

    #aratana-legacy-root .legacy-body footer .brand { font-size: 1.5rem; letter-spacing: 0; }

    #aratana-legacy-root .legacy-body footer .info {
      font-family: var(--mono);
      font-size: 1.0rem;
      color: var(--ink);
      text-align: right;
      line-height: 2.0;
    }

    /* ── Responsive ── */
    @media (max-width: 43.6rem) {
      #aratana-legacy-root .legacy-body .page { padding: 0 0.8rem; }
      #aratana-legacy-root .legacy-body .cover { grid-template-columns: 1fr; min-height: auto; }
      #aratana-legacy-root .legacy-body .cover-left { padding: 3.0rem 2rem; }
      #aratana-legacy-root .legacy-body .cover-right { padding: 3.0rem 2rem; min-height: 60vw; }
      #aratana-legacy-root .legacy-body .alpha-grid { grid-template-columns: repeat(9, 1fr); }
      #aratana-legacy-root .legacy-body .pair-grid { grid-template-columns: 1fr; }
    }
/* ===== Theme overrides ===== */
#main.aratana-page .aratana-article {
  border-bottom: 0;
  padding: 0;
}

#main.aratana-page .aratana-legacy-frame {
  display: block;
  width: 100%;
  min-height: 100vh;
  border: 0;
  background: transparent;
}

/* Legacy aratana layout overrides (used inside page-aratana.php Shadow DOM) */
#aratana-legacy-root .legacy-body {
  font-size: 1.0rem;
  line-height: 2.0;
  overflow-x: hidden;
  --char-size: 1.6rem;
  --ar-ink: #3f00ff;
  --ar-paper: #ccc;
  --ar-accent: #000;
  --ar-rule: var(--ar-ink);
  --ar-mono: "Aratana", serif;
  --ink: var(--ar-ink);
  --paper: var(--ar-paper);
  --accent: var(--ar-accent);
  --rule: var(--ar-rule);
  --mono: var(--ar-mono);
  color: var(--ink);
  font-family: var(--mono), "dnp-shuei-gothic-gin-std", serif;
}

#aratana-legacy-root .legacy-body .ar-kana {
  font-family: "ten-mincho-antique", sans-serif;
  font-weight: 500;
  font-style: normal;
}

#aratana-legacy-root .legacy-body .ar-kanji {
  font-family: "dnp-shuei-gothic-gin-std", sans-serif;
  font-weight: 700;
  font-style: normal;
}

#aratana-legacy-root .legacy-body .page {
  width: 100%;
  max-width: 100%;
  padding: 0 clamp(0.8rem, 3.0vw, 2.4rem);
}

#aratana-legacy-root .legacy-body .cover {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  min-height: auto;
}

#aratana-legacy-root .legacy-body .cover-left,
#aratana-legacy-root .legacy-body .cover-right {
  min-width: 0;
  padding: clamp(1.5rem, 5vw, 3.6rem);
}

/* Moved from legacy inline CSS: cover backgrounds are controlled here */
#aratana-legacy-root .legacy-body .cover-left {
  background: var(--paper);
  color: var(--ink);
}

#aratana-legacy-root .legacy-body .cover-right {
  background: var(--ink);
  color: var(--paper);
}

#aratana-legacy-root .legacy-body .alpha-grid {
  grid-template-columns: repeat(10, minmax(0, 1fr));
}

#aratana-legacy-root .legacy-body .alpha-cell {
  min-width: 0;
  font-size: clamp(1.0rem, 3.0vw, 2rem);
}

#aratana-legacy-root .legacy-body .punct-row {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 0.4rem;
}

#aratana-legacy-root .legacy-body .punct-cell {
  width: auto;
  transition: background .15s, color .15s;
}

#aratana-legacy-root .legacy-body .punct-cell:hover {
  background: var(--ink);
  color: var(--paper);
}

#aratana-legacy-root .legacy-body .accent-cell {
  transition: background .15s, color .15s;
}

#aratana-legacy-root .legacy-body .accent-cell:hover {
  background: var(--ink);
  color: var(--paper);
}


#aratana-legacy-root .legacy-body a:hover,
#aratana-legacy-root .legacy-body a:active {
  color: inherit;
}

#aratana-legacy-root .legacy-body .numeral-row {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 0.4rem;
  row-gap: 0.4rem;
  align-items: stretch;
}

#aratana-legacy-root .legacy-body .numeral {
  position: relative !important;
  inset: auto !important;
  float: none !important;
  margin: 0 !important;
  border: 0.1rem solid var(--rule);
  width: 100%;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 0;
  line-height: 1;
  padding: 0;
  transition: background .15s, color .15s;
}

#aratana-legacy-root .legacy-body .numeral:hover {
  background: var(--ink);
  color: var(--paper);
}

#aratana-legacy-root .legacy-body .detail-row {
  gap: 0.8rem;
}

#aratana-legacy-root .legacy-body .detail-item {
  min-width: 6.0rem;
}

#aratana-legacy-root .legacy-body .pair-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

#aratana-legacy-root .legacy-body img,
#aratana-legacy-root .legacy-body video,
#aratana-legacy-root .legacy-body canvas,
#aratana-legacy-root .legacy-body svg {
  max-width: 100%;
  height: auto;
}

@supports not (aspect-ratio: 1 / 1) {
  #aratana-legacy-root .legacy-body .numeral {
    height: 0;
    padding-top: 100%;
  }

  #aratana-legacy-root .legacy-body .numeral > * {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

@media (max-width: 60rem) {
  #aratana-legacy-root .legacy-body .cover {
    grid-template-columns: 1fr;
  }

  #aratana-legacy-root .legacy-body .cover-right {
    min-height: 50vw;
  }

  #aratana-legacy-root .legacy-body .alpha-grid {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }

  #aratana-legacy-root .legacy-body .pair-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 40rem) {
  #aratana-legacy-root .legacy-body .alpha-grid {
    grid-template-columns: repeat(10, minmax(0, 1fr));
  }
}

@supports (-webkit-touch-callout: none) {
  #aratana-legacy-root .legacy-body .numeral-row {
    row-gap: 0.4rem;
  }

  #aratana-legacy-root .legacy-body .numeral {
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    -webkit-font-smoothing: antialiased;
  }
}

/* Uniform cell height + glyph size for alphabet / numerals / punctuation */
#aratana-legacy-root .legacy-body .alpha-cell,
#aratana-legacy-root .legacy-body .numeral,
#aratana-legacy-root .legacy-body .punct-cell {
  font-size: var(--char-size);
  aspect-ratio: 1 / 1;
  height: auto;
  min-height: 0;
  line-height: 1;
  padding: 0;
}

#aratana-legacy-root .legacy-body .punct-cell {
  width: 100%;
}

#aratana-legacy-root .legacy-body .accent-grid {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 0.4rem;
}

#aratana-legacy-root .legacy-body .accent-cell {
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

#aratana-legacy-root .legacy-body .accent-char {
  font-size: var(--char-size);
}

/* Utilities migrated from inline style="" in legacy HTML */
#aratana-legacy-root .legacy-body .u-label-mono {
  font-family: var(--mono);
  font-size: 1.0rem;
  color: var(--ink);
  letter-spacing: 0;
  text-transform: uppercase;
  margin-bottom: 2rem;
}

#aratana-legacy-root .legacy-body .u-flex-nav {
  display: flex;
  gap: 2rem;
  font-size: 1.6rem;
  letter-spacing: 0;
  text-transform: uppercase;
  border-bottom: 0.1rem solid var(--rule);
  padding-bottom: 1.6rem;
}

#aratana-legacy-root .legacy-body .u-card-panel {
  background: var(--ink);
  color: var(--paper);
  display: inline-block;
  padding: 2rem 2.4rem;
  min-width: 32rem;
}

#aratana-legacy-root .legacy-body .u-title-28 {
  font-size: 2.0rem;
  color: var(--paper);
  line-height: 1.5;
  letter-spacing: 0;
  margin-bottom: 2rem;
}

#aratana-legacy-root .legacy-body .u-copy-14 {
  font-size: 1.5rem;
  color: var(--paper);
  line-height: 1.6;
}

#aratana-legacy-root .legacy-body .u-band-ink {
  background: #fff;
  color: var(--accent);
}

#aratana-legacy-root .legacy-body .u-mb-48 {
  margin-bottom: 4rem;
}

#aratana-legacy-root .legacy-body .u-muted-meta {
  color: var(--ink);
  margin-bottom: 2rem;
}

#aratana-legacy-root .legacy-body .u-rule-strong {
  border-bottom: 0.1rem solid var(--ink);
}

#aratana-legacy-root .legacy-body .u-label-11 {
  font-size: 1.0rem;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--paper);
  margin-bottom: 2rem;
}

#aratana-legacy-root .legacy-body .u-headline-clamp {
  font-size: clamp(3.6rem, 6vw, 7.2rem);
  line-height: 1.05;
  letter-spacing: 0;
}

#aratana-legacy-root .legacy-body .u-subheadline-clamp {
  font-size: clamp(2rem, 3.5vw, 4rem);
  line-height: 1.5;
}

#aratana-legacy-root .legacy-body .u-mt-32-note {
  margin-top: 4rem;
  font-size: clamp(1.6rem, 2.5vw, 2.8rem);
  color: var(--ink);
}

#aratana-legacy-root .legacy-body .u-fs-90 { font-size: 9.0rem; }
#aratana-legacy-root .legacy-body .u-fs-60 { font-size: 6.0rem; }
#aratana-legacy-root .legacy-body .u-fs-40 { font-size: 4.0rem; }
#aratana-legacy-root .legacy-body .u-fs-30 { font-size: 3.0rem; }
#aratana-legacy-root .legacy-body .u-fs-25 { font-size: 2.5rem; }
#aratana-legacy-root .legacy-body .u-fs-20 { font-size: 2.0rem; }
#aratana-legacy-root .legacy-body .u-fs-15 { font-size: 1.5rem; }
#aratana-legacy-root .legacy-body .u-fs-10 { font-size: 1.0rem; }

#aratana-legacy-root .legacy-body .u-fs-28-ls-n05 { font-size: 2.5rem; letter-spacing: -0.05em; }
#aratana-legacy-root .legacy-body .u-fs-28-ls-n025 { font-size: 2.5rem; letter-spacing: -0.025em; }
#aratana-legacy-root .legacy-body .u-fs-28-ls-0 { font-size: 2.5rem; letter-spacing: 0; }
#aratana-legacy-root .legacy-body .u-fs-28-ls-p05 { font-size: 2.5rem; letter-spacing: 0.05em; }
#aratana-legacy-root .legacy-body .u-fs-28-ls-p10 { font-size: 2.5rem; letter-spacing: 0.10em; }
#aratana-legacy-root .legacy-body .u-fs-28-ls-p25 { font-size: 2.5rem; letter-spacing: 0.25em; }

#aratana-legacy-root .legacy-body .u-accent-muted {
  color: #000;
}

@media (max-width: 40rem) {
  #aratana-legacy-root .legacy-body .u-card-panel {
    width: 100%;
    min-width: 0;
    padding: 1.6rem;
  }

  #aratana-legacy-root .legacy-body .u-flex-nav {
    flex-wrap: wrap;
    gap: 0.8rem 1.6rem;
    font-size: 1.2rem;
  }

  #aratana-legacy-root .legacy-body .u-flex-nav > * {
    white-space: nowrap;
  }

  #aratana-legacy-root .legacy-body footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.2rem;
  }

  #aratana-legacy-root .legacy-body footer .info {
    text-align: left;
    max-width: 100%;
    word-break: break-word;
  }
}

/* Global horizontal padding for /aratana/ */
#aratana-legacy-root .legacy-body .page {
  padding-left: 2.0rem !important;
  padding-right: 2.0rem !important;
}

/* Rules should ignore page padding and run full width */
#aratana-legacy-root .legacy-body section {
  border-bottom: none !important;
  position: relative;
}

#aratana-legacy-root .legacy-body section::after {
  content: "";
  position: absolute;
  left: -2.0rem;
  right: -2.0rem;
  bottom: 0;
  border-bottom: 0.1rem solid var(--rule);
}

#aratana-legacy-root .legacy-body section:last-child::after {
  content: none;
}
