.codrra-site {
  --codrra-ink: #1c2e40;
  --codrra-muted: #4c6072;
  --codrra-blue: #175783;
  --codrra-pale: #eff8fd;
  --codrra-line: #d8e5ee;
  margin: 0;
  color: var(--codrra-ink);
  background: #fff;
  font-family: 'BIZ UDPGothic', 'Hiragino Kaku Gothic ProN', system-ui, sans-serif;
}
.codrra-site *, .codrra-site *::before, .codrra-site *::after { box-sizing: border-box; }
.codrra-wrap { width: min(100% - 48px, 1120px); margin-inline: auto; }
.codrra-skip {
  position: absolute;
  inset: 8px auto auto 8px;
  z-index: 1000;
  padding: 10px 14px;
  background: #fff;
  transform: translateY(-160%);
}
.codrra-skip:focus { transform: none; }
.codrra-site :focus-visible { outline: 3px solid #1673a9; outline-offset: 3px; }
.codrra-header { border-top: 4px solid #b6dff4; background: #fff; }
.codrra-header-row {
  min-height: 72px;
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: space-between;
}
.codrra-site :where(.codrra-header, .codrra-footer) a { text-decoration: none; }
.codrra-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--codrra-ink);
  font-size: clamp(1rem, 2.2vw, 1.2rem);
  font-weight: 700;
  line-height: 1.35;
}
.codrra-brand img { display: block; flex: none; border-radius: 7px; }
.codrra-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.codrra-actions a, .codrra-footer nav a {
  padding: 6px 9px;
  color: var(--codrra-blue);
  font-size: .88rem;
}
.codrra-actions a:first-child {
  border: 1px solid var(--codrra-line);
  border-radius: 6px;
  background: var(--codrra-pale);
}
.codrra-actions a:hover, .codrra-footer nav a:hover { text-decoration: underline; }
.codrra-nav { border-block: 1px solid var(--codrra-line); }
.codrra-nav > div { display: flex; flex-wrap: wrap; gap: 0 clamp(8px, 2.4vw, 31px); }
.codrra-nav a {
  display: block;
  border-bottom: 3px solid transparent;
  padding: 11px 6px 8px;
  color: var(--codrra-ink);
  font-size: .92rem;
  font-weight: 700;
  line-height: 1.45;
}
.codrra-nav a:hover, .codrra-nav a[aria-current] { border-color: #479ac7; color: var(--codrra-blue); }
.codrra-footer { margin-top: 68px; padding-block: 28px; background: #f0f7fb; border-top: 1px solid var(--codrra-line); }
.codrra-footer-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px 24px; }
.codrra-footer-brand { color: var(--codrra-ink); font-weight: 700; }
.codrra-footer p { margin: 4px 0 0; color: var(--codrra-muted); font-size: .8rem; }
.codrra-footer nav { display: flex; flex-wrap: wrap; gap: 4px; }

.codrra-front #content > .ast-container {
  width: min(100% - 48px, 1120px);
  max-width: none;
  padding-inline: 0;
}
.codrra-front #content #primary { margin: 30px 0 0; }
.codrra-home { color: var(--codrra-ink); }
.codrra-home p { margin: 0; }
.codrra-home h1, .codrra-home h2, .codrra-home h3 { margin: 0; color: var(--codrra-ink); }
.codrra-home a { text-underline-offset: .2em; }
.codrra-hero {
  display: grid;
  grid-template-columns: 1fr .94fr;
  gap: clamp(20px, 4vw, 52px);
  align-items: center;
  background: #e9f6fd;
  border: 1px solid #d1e8f5;
  border-radius: 14px;
  padding: clamp(20px, 4vw, 46px);
}
.codrra-hero .codrra-kicker {
  color: var(--codrra-blue);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .035em;
}
.codrra-home .codrra-hero h1 {
  margin-block: 12px;
  font-size: clamp(1.65rem, 3.4vw, 2.65rem);
  line-height: 1.45;
  letter-spacing: .01em;
}
.codrra-hero-copy > p:not(.codrra-kicker) { max-width: 36em; color: var(--codrra-muted); line-height: 1.8; }
.codrra-text-link { display: inline-block; margin-top: 14px; color: var(--codrra-blue); font-weight: 700; }
.codrra-hero-art img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 9px;
}
.codrra-section { margin-top: clamp(34px, 5vw, 58px); }
.codrra-section h2 { margin-bottom: 16px; font-size: clamp(1.25rem, 3vw, 1.68rem); line-height: 1.45; }
.codrra-section-title { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 0 16px; }
.codrra-home .codrra-resources, .codrra-site .codrra-article-list { padding: 0; margin: 0; list-style: none; }
.codrra-resources { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.codrra-resources li { display: flex; margin: 0; }
.codrra-home .codrra-resources a {
  display: block;
  position: relative;
  width: 100%;
  border: 1px solid var(--codrra-line);
  border-radius: 9px;
  padding: 16px 44px 16px 17px;
  background: #fff;
  color: var(--codrra-ink);
  text-decoration: none;
}
.codrra-home .codrra-resources a:hover { border-color: #78adca; background: #f5fbff; }
.codrra-resource-category { color: var(--codrra-blue); font-weight: 700; font-size: .8rem; }
.codrra-resources h3 { font-size: clamp(1.03rem, 2vw, 1.27rem); line-height: 1.45; margin-block: 4px 6px; }
.codrra-resources p { font-size: .94rem; line-height: 1.65; color: var(--codrra-muted); }
.codrra-resource-arrow { position: absolute; right: 17px; top: 19px; color: var(--codrra-blue); font-size: 1.15rem; }
.codrra-home .codrra-related { margin-top: 13px; }
.codrra-related a, .codrra-section-title a, .codrra-more a { color: var(--codrra-blue); font-size: .9rem; font-weight: 700; }
.codrra-article-list { border-top: 1px solid var(--codrra-line); }
.codrra-article-list li {
  display: grid;
  grid-template-columns: 8.6rem minmax(0, 1fr);
  gap: 4px 16px;
  margin: 0;
  padding-block: 12px;
  border-bottom: 1px solid var(--codrra-line);
}
.codrra-article-list time { color: var(--codrra-muted); font-size: .85rem; line-height: 1.8; }
.codrra-article-list a { color: var(--codrra-blue); font-weight: 700; text-decoration-thickness: 1px; }
.codrra-article-list p { color: var(--codrra-muted); margin: 4px 0 0; font-size: .94rem; line-height: 1.7; }
.codrra-protected { margin-left: .5em; color: var(--codrra-muted); font-size: .8rem; white-space: nowrap; }
.codrra-more { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 40px; }
.codrra-more > div { padding: 15px 18px; border-top: 2px solid #acd4e9; background: #f5fafd; }
.codrra-more h2 { font-size: 1.05rem; }
.codrra-more p { margin-block: 6px; font-size: .91rem; line-height: 1.65; }

.codrra-inner #content > .ast-container {
  width: min(100% - 48px, 840px);
  max-width: none;
  padding-inline: 0;
}
.codrra-inner #primary { width: 100%; margin: clamp(28px, 5vw, 50px) 0 0; }
.codrra-inner #main article { padding: 0; }
.codrra-inner #main .entry-content { color: var(--codrra-ink); font-size: clamp(1rem, 1.6vw, 1.095rem); line-height: 1.82; overflow-wrap: anywhere; }
.codrra-inner #main :is(.entry-title, h1.codrra-inline-title) {
  color: var(--codrra-ink);
  font-size: clamp(1.55rem, 3.6vw, 2.35rem);
  line-height: 1.48;
  text-wrap: pretty;
}
.codrra-inner #main .entry-header { margin-bottom: 24px; }
.codrra-inner #main .entry-content > h2 {
  margin-block: 1.5em .55em;
  padding-bottom: .26em;
  border-bottom: 1px solid var(--codrra-line);
  color: var(--codrra-ink);
  font-size: clamp(1.2rem, 2.6vw, 1.53rem);
  line-height: 1.5;
  scroll-margin-top: 20px;
}
.codrra-inner #main .entry-content > h3 { margin-block: 1.35em .45em; color: var(--codrra-ink); line-height: 1.5; }
.codrra-inner #main .entry-content > p { margin-bottom: 1.04em; }
.codrra-inner #main .entry-content > p > a { color: var(--codrra-blue); text-underline-offset: .16em; }
.codrra-inner #main .entry-content > :is(.alignwide, .alignfull) { width: 100%; max-width: 100%; margin-inline: 0; }
.codrra-inner .entry-content > .wp-block-image:first-child img { max-height: 340px; width: auto; max-width: 100%; object-fit: contain; }
.codrra-inner .entry-content > .wp-block-spacer { max-height: 24px; }
.codrra-inner .wp-block-file__embed { height: min(460px, 60vh) !important; }
.codrra-inner .wp-block-file__button { white-space: normal; }
.codrra-inner .wp-block-embed.is-type-wp-embed { margin-block: 12px; }
.codrra-inner blockquote.wp-embedded-content {
  padding: 10px 14px;
  margin: 0;
  border-left: 3px solid #a4cce3;
  background: #f4fafd;
}
.codrra-inner #main .codrra-back-link { display: inline-block; margin-bottom: 16px; font-size: .88rem; color: var(--codrra-blue); }
.codrra-page-index, .codrra-downloads, .codrra-archive {
  background: var(--codrra-pale);
  border: 1px solid var(--codrra-line);
  border-radius: 9px;
  margin: 0 0 22px;
  padding: 16px 19px;
}
.codrra-page-index h2, .codrra-downloads h2 { margin: 0 0 6px; font-size: 1.05rem; color: var(--codrra-ink); }
.codrra-page-index ul, .codrra-downloads ul { margin: 0 0 0 1.25em; }
.codrra-page-index ul { columns: 2 235px; column-gap: 30px; }
.codrra-page-index li, .codrra-downloads li { break-inside: avoid; }
.codrra-downloads a { font-weight: 700; }
.codrra-downloads a span { color: var(--codrra-muted); font-size: .82em; }
.codrra-downloads .codrra-pdf-save {
  display: inline-block;
  margin-inline-start: .65em;
  color: var(--codrra-blue);
  font-size: .85em;
  font-weight: 400;
}
.codrra-blog-tools { margin-block: 0 18px; }
.codrra-blog-tools a { color: var(--codrra-blue); font-weight: 700; }
.codrra-archive summary { cursor: pointer; font-weight: 700; }
.codrra-archive > ul { columns: 2 180px; margin: 10px 0 10px 1.2em; }
.codrra-archive .wp-block-tag-cloud { margin-bottom: 0; }
.codrra-inner .commitment-control {
  border-bottom: 1px solid var(--codrra-line);
  padding-block: 10px;
  gap: 6px;
}
.codrra-inner .commitment-control label { line-height: 1.55; }
.codrra-inner .commitment-control button { min-width: 38px; min-height: 36px; }
.codrra-inner .commitment-control input { min-width: 45px; }

.codrra-utility { min-height: 100vh; display: flex; flex-direction: column; }
.codrra-utility-main { flex: 1; width: min(100% - 48px, 840px); margin: 38px auto 0; line-height: 1.8; }
.codrra-utility-main h1 { font-size: clamp(1.55rem, 3.6vw, 2.35rem); line-height: 1.45; margin: 0 0 12px; }
.codrra-utility-main a { color: var(--codrra-blue); }
.codrra-utility-main #search { --pagefind-ui-primary: #175783; --pagefind-ui-border: #d8e5ee; }

@media (max-width: 680px) {
  .codrra-wrap, .codrra-front #content > .ast-container,
  .codrra-inner #content > .ast-container, .codrra-utility-main { width: calc(100% - 32px); }
  .codrra-header-row { min-height: 0; gap: 8px 10px; flex-wrap: wrap; padding-block: 11px; }
  .codrra-brand img { width: 32px; height: 32px; }
  .codrra-actions { gap: 4px; }
  .codrra-actions a { font-size: .8rem; padding: 5px 6px; }
  .codrra-nav > div { gap: 0 10px; }
  .codrra-nav a { padding: 8px 2px 5px; font-size: .82rem; }
  .codrra-front #content #primary { margin-top: 18px; }
  .codrra-hero { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .codrra-home .codrra-hero h1 { font-size: clamp(1.22rem, 6.05vw, 1.6rem); }
  .codrra-hero-art { max-width: 340px; }
  .codrra-resources, .codrra-more, .codrra-article-list li { grid-template-columns: minmax(0, 1fr); }
  .codrra-article-list li { gap: 1px; }
  .codrra-inner .commitment-control { flex-wrap: wrap; }
  .codrra-inner .commitment-control label { flex-basis: 100%; }
}

.codrra-inner #main .entry-content .codrra-notice {
  background: var(--codrra-pale);
  border: 1px solid var(--codrra-line);
  border-radius: 9px;
  padding: 14px 17px;
}

.codrra-related-group { margin-block: 22px 28px; }
.codrra-related-group h3 {
  margin: 0 0 9px;
  color: var(--codrra-ink);
  font-size: 1.06rem;
  line-height: 1.5;
}
.codrra-related-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.codrra-inner #main article.codrra-related-card {
  border: 1px solid var(--codrra-line);
  border-radius: 8px;
  padding: 11px 14px;
  background: #f8fcff;
}
.codrra-related-card time { display: block; color: var(--codrra-muted); font-size: .78rem; }
.codrra-related-card a { color: var(--codrra-blue); font-weight: 700; line-height: 1.45; text-underline-offset: .16em; }
.codrra-inner #main .codrra-related-card p { margin: 4px 0 0; color: var(--codrra-muted); font-size: .9rem; line-height: 1.65; }
.codrra-inner .entry-content > .codrra-related-card { margin-block: 12px; }

@media (max-width: 680px) {
  .codrra-related-grid { grid-template-columns: minmax(0, 1fr); }
}

#chs-assessment { scroll-margin-top: 12px; }
#chs-assessment [hidden] { display: none !important; }
.chs-step-controls {
  background: var(--codrra-pale);
  border: 1px solid var(--codrra-line);
  border-radius: 9px;
  padding: 12px 16px;
  margin-bottom: 16px;
}
.chs-step-controls label { display: block; font-weight: 700; }
.chs-step-controls select { max-width: 100%; font: inherit; color: var(--codrra-ink); }
.chs-step-controls p { margin: .5em 0 0; font-size: .87em; }
#chs-assessment .commitment-control { display: flex; gap: 10px 20px; justify-content: space-between; align-items: center; }
#chs-assessment .commitment-control label { margin: 0; }
.chs-score { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
#chs-assessment .chs-score input { width: 3.6rem; padding-inline: .35rem; text-align: center; }
#chs-assessment .chs-score button { padding: .3em .7em; min-width: 44px; min-height: 44px; }
.chs-step-buttons { display: flex; flex-wrap: wrap; gap: .5rem; margin-block: 16px; }
.chs-step-buttons button { padding: .65rem .9rem; }
.chs-step-buttons button:disabled { opacity: .55; cursor: default; }
.chs-chart-panel { min-width: 0; }
@media (max-width: 680px) {
  #chs-assessment .commitment-control { align-items: flex-start; }
  #chs-assessment .commitment-control label { flex-basis: 100%; }
}

.codrra-actions .codrra-language {
  border: 1px solid var(--codrra-line);
  border-radius: 6px;
  background: var(--codrra-pale);
  font-weight: 700;
}
.codrra-article-lead { border-left: 3px solid #a4cce3; background: var(--codrra-pale); padding: .75rem 1rem; }
.codrra-english-meta { color: var(--codrra-muted); font-size: .88rem; }
.codrra-original-en img { max-width: 100%; height: auto; }
.codrra-utility .codrra-article-list a { text-underline-offset: .18em; }

.codrra-utility .codrra-related-card { border: 1px solid var(--codrra-line); border-radius: 8px; padding: 11px 14px; background: #f8fcff; }
.codrra-utility .codrra-related-card p { margin: 4px 0 0; color: var(--codrra-muted); font-size: .9rem; }

.chs-english-versions { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 1rem; }
.codrra-english-chs .commitment-control { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: .6rem; }
.codrra-english-chs .commitment-control label { flex: 1 1 20rem; }
.codrra-english-chs input[type=number] { width: 3.6rem; }
.codrra-english-chs button { padding: .45rem .75rem; }
.codrra-english-chs canvas { max-width: 100%; }

.codrra-indicators details { border-bottom: 1px solid #cce0ee; padding: .7rem 0; }
.codrra-indicators summary { color: #175783; cursor: pointer; font-weight: 700; }
.codrra-indicators ol { margin: .5rem 0; padding-inline-start: 2.25rem; }
.codrra-indicators li + li { margin-top: .4rem; }

.codrra-breadcrumb { margin: 0 0 1rem; font-size: .84rem; color: #40556a; }
.codrra-breadcrumb ol { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .55rem; list-style: none; margin: 0; padding: 0; }
.codrra-breadcrumb li + li::before { content: "›"; display: inline-block; margin-inline-end: .55rem; color: #54718b; }
.codrra-breadcrumb [aria-current] { font-weight: 500; }
.codrra-topic-overview, .codrra-primary-sources { margin-block: 1.4rem; }
.codrra-primary-sources { border-top: 1px solid #cce0ee; padding-top: 1rem; }
