@import "tailwindcss";

:root {
  --ink: #17364a;
  --text: #2e4b5c;
  --muted: #667f8e;
  --blue: #2d82a8;
  --blue-deep: #1b6384;
  --blue-soft: #e9f5fa;
  --blue-faint: #f6fbfd;
  --line: #d2e5ed;
  --paper: #ffffff;
  --cream: #fffcf5;
  --serif: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  --sans: -apple-system, BlinkMacSystemFont, "Hiragino Sans",
    "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", sans-serif;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background: var(--blue-faint);
}

body {
  margin: 0;
  color: var(--text);
  background: var(--paper);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.95;
  letter-spacing: 0.015em;
}

a {
  color: inherit;
  text-decoration: none;
}

.site-header {
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.96);
}

.site-header-inner {
  width: min(1080px, calc(100% - 40px));
  min-height: 68px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.site-header small {
  padding: 5px 10px;
  border: 1px solid var(--line);
  color: var(--blue-deep);
  background: var(--blue-faint);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.site-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.site-brand span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid var(--blue-deep);
  border-radius: 50%;
  color: var(--blue-deep);
  font-family: Georgia, serif;
  font-size: 18px;
}

.site-brand b {
  color: var(--ink);
  font-family: var(--serif);
  font-size: 15px;
  letter-spacing: 0.06em;
}

.site-footer {
  margin-top: 100px;
  padding: 46px 20px;
  border-top: 1px solid var(--line);
  background: var(--blue-faint);
}

.site-footer > div {
  width: min(1080px, 100%);
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 36px;
}

.site-footer-heading {
  flex: 0 0 auto;
}

.site-footer b {
  display: block;
  color: var(--ink);
  font-family: var(--serif);
  font-size: 14px;
}

.site-footer span {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
}

.site-footer p {
  max-width: 560px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.8;
  text-align: right;
}

/* 購入者限定トップページ */

.home-shell {
  width: min(900px, calc(100% - 40px));
  margin: 0 auto;
  padding: 84px 0 20px;
}

.home-intro {
  max-width: 720px;
  margin-bottom: 76px;
}

.site-label {
  display: inline-block;
  margin: 0 0 14px;
  padding: 6px 12px;
  border: 1px solid var(--line);
  background: var(--blue-faint);
  color: var(--blue-deep);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.home-intro h1 {
  margin: 0;
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(34px, 5vw, 48px);
  font-weight: 600;
  line-height: 1.45;
}

.home-intro > p:last-child {
  margin: 22px 0 0;
  color: var(--muted);
  line-height: 2;
}

.report-list + .report-list {
  margin-top: 68px;
}

.list-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}

.list-heading h2 {
  margin: 0;
  color: var(--ink);
  font-family: var(--serif);
  font-size: 21px;
  font-weight: 600;
}

.list-heading p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.report-row {
  min-height: 86px;
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  padding: 18px 4px;
  border-bottom: 1px solid var(--line);
}

.report-row-latest {
  padding: 28px 28px;
  border: 1px solid #bddce8;
  background: var(--blue-faint);
}

.report-row time {
  color: var(--blue-deep);
  font-size: 12px;
  font-weight: 700;
}

.report-row b,
.report-row small {
  display: block;
}

.report-row b {
  color: var(--ink);
  font-family: var(--serif);
  font-size: 18px;
}

.report-row small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.7;
}

.report-row i {
  color: var(--blue-deep);
  font-size: 12px;
  font-style: normal;
}

.report-row:hover b,
.report-row:hover i {
  color: var(--blue);
}

.bonus-note {
  margin-top: 76px;
  padding: 32px 34px;
  border-left: 3px solid var(--blue);
  background: var(--blue-soft);
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.bonus-note h2 {
  margin: 0;
  color: var(--ink);
  font-family: var(--serif);
  font-size: 23px;
  line-height: 1.7;
}

.bonus-note > p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.9;
}

.bonus-note > small {
  color: var(--muted);
  font-size: 12px;
}

/* 月次長文レポート */

.report-page {
  width: min(780px, calc(100% - 40px));
  margin: 0 auto;
}

.report-header {
  padding: 66px 0 36px;
  border-bottom: 1px solid var(--line);
}

.back-home {
  display: inline-block;
  margin-bottom: 35px;
  color: var(--blue-deep);
  font-size: 12px;
  font-weight: 700;
}

.report-date {
  margin: 0 0 8px;
  color: var(--blue-deep);
  font-size: 13px;
  font-weight: 700;
}

.report-header h1 {
  margin: 0;
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(34px, 5.5vw, 46px);
  font-weight: 600;
  line-height: 1.5;
}

.report-lead {
  margin: 24px 0 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 2;
}

.report-toc {
  margin: 34px 0 0;
  padding: 20px 24px;
  border: 1px solid var(--line);
  background: var(--blue-faint);
}

.report-toc summary {
  color: var(--ink);
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
}

.report-toc ol {
  margin: 14px 0 0;
  padding-left: 0;
  list-style: none;
}

.report-toc li {
  margin: 8px 0;
  break-inside: avoid;
  color: var(--blue-deep);
  font-size: 13px;
}

.report-toc .toc-group {
  margin-top: 13px;
  color: var(--ink);
  font-weight: 700;
  list-style: none;
}

.report-toc .toc-subitem {
  margin-left: 1.2em;
}

.report-toc a:hover {
  text-decoration: underline;
}

.report-section {
  scroll-margin-top: 24px;
  padding-top: 92px;
}

.report-section-title {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  align-items: baseline;
  gap: 16px;
  margin-bottom: 36px;
  padding-bottom: 17px;
  border-bottom: 2px solid var(--ink);
}

.report-section-title span {
  color: var(--blue-deep);
  font-family: Georgia, serif;
  font-size: clamp(22px, 3vw, 28px);
  font-weight: 600;
  line-height: 1.2;
}

.report-section-title h2 {
  margin: 0;
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(27px, 4vw, 34px);
  font-weight: 600;
  line-height: 1.55;
  text-wrap: balance;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.report-section h3,
.embedded-article h3 {
  scroll-margin-top: 24px;
  margin: 58px 0 20px;
  color: var(--ink);
  font-family: var(--serif);
  font-size: 24px;
  font-weight: 600;
  line-height: 1.65;
}

.report-section h4,
.embedded-article h4 {
  margin: 36px 0 14px;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.7;
}

.report-section p,
.embedded-article p {
  margin: 0 0 17px;
}

.embedded-article p {
  margin-bottom: 13px;
}

.report-section ul,
.embedded-article ul {
  margin: 20px 0 26px;
  padding-left: 1.4em;
  list-style: disc;
}

.report-section li + li,
.embedded-article li + li {
  margin-top: 8px;
}

.opening-note {
  padding: 20px 24px;
  border-left: 3px solid var(--blue);
  background: var(--blue-faint);
  color: var(--ink);
  font-family: var(--serif);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.9;
}

.reader-note {
  margin-top: -8px;
  margin-bottom: 32px;
  padding: 14px 18px;
  border: 1px solid var(--line);
  background: var(--blue-faint);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.85;
}

.reader-note b {
  color: var(--ink);
}

.report-section .reader-note.wide-block {
  margin-left: 50%;
}

.wide-block {
  width: min(960px, calc(100vw - 40px));
  margin-left: 50%;
  transform: translateX(-50%);
}

.stats-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 36px;
  margin-bottom: 28px;
}

.stats-row > div {
  display: grid;
  grid-template-rows: 44px 52px 24px;
  align-content: start;
  padding: 22px 24px;
  border: 1px solid var(--line);
  background: var(--paper);
}

.stats-row span,
.stats-row strong,
.stats-row small {
  display: block;
}

.stats-row span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.45;
}

.stats-row strong {
  display: flex;
  align-items: flex-start;
  align-self: stretch;
  height: 52px;
  margin: 0;
  padding: 2px 0 0;
  color: var(--blue-deep);
  /*
   * 「約・数字・万円」を同じ和文明朝で描画する。
   * 欧文だけ Georgia にすると、数字と日本語で字面の上下位置がずれる。
   */
  font-family: var(--serif);
  font-size: 29px;
  font-weight: 400;
  font-variant-numeric: tabular-nums;
  line-height: 36px;
}

.stats-row small {
  align-self: start;
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
}

.table-wrap,
.desktop-summary {
  margin-top: 28px;
  margin-bottom: 34px;
  overflow: hidden;
  border: 1px solid var(--line);
}

.desktop-summary table {
  table-layout: fixed;
}

.desktop-summary th:first-child {
  width: 150px;
}

table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  line-height: 1.65;
}

th,
td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
  border-right: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

tr:last-child th,
tr:last-child td {
  border-bottom: 0;
}

th:last-child,
td:last-child {
  border-right: 0;
}

thead th {
  color: var(--ink);
  background: var(--blue-soft);
  font-size: 11px;
}

thead th small {
  color: var(--muted);
  font-size: 9px;
  font-weight: 500;
  line-height: 1.45;
}

tbody th {
  color: var(--ink);
  background: var(--blue-faint);
  font-weight: 700;
}

.data-note {
  color: var(--muted);
  font-size: 12px;
}

.mobile-summary {
  display: none;
}

.book-detail {
  margin-top: 84px;
}

.book-detail > header {
  margin-bottom: 34px;
  padding: 26px 0 24px;
  border-top: 3px solid var(--blue);
  border-bottom: 1px solid var(--line);
}

.book-detail > header span {
  color: var(--blue-deep);
  font-size: 11px;
  font-weight: 700;
}

.book-detail > header h3 {
  margin: 7px 0 5px;
  font-size: 28px;
}

.book-detail > header p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.book-detail > .book-role-heading {
  font-weight: 800;
}

.mtivs-detail {
  margin: 34px 0;
  border-top: 1px solid var(--line);
}

.mtivs-detail > div {
  display: grid;
  grid-template-columns: 125px minmax(0, 1fr);
  gap: 22px;
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
}

.mtivs-detail dt {
  color: var(--blue-deep);
  font-family: Georgia, serif;
  font-size: 23px;
  font-weight: 700;
}

.mtivs-detail dt span {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-family: var(--sans);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.mtivs-detail dd {
  margin: 0;
}

.mtivs-detail dd p:last-child {
  margin-bottom: 0;
}

.before-after {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 30px;
  margin-bottom: 36px;
}

.before-after > div {
  padding: 24px 28px;
  border: 1px solid var(--line);
  background: var(--blue-faint);
}

.before-after h4 {
  margin: 0 0 12px;
  font-family: var(--serif);
}

.before-after ul {
  margin: 0;
  font-size: 14px;
}

.numbered-list,
.process-list {
  padding: 0 !important;
  list-style: none;
  counter-reset: steps;
}

.numbered-list li,
.process-list li {
  position: relative;
  padding: 0 0 24px 52px;
  border-bottom: 1px solid var(--line);
  counter-increment: steps;
}

.numbered-list li::before,
.process-list li::before {
  content: counter(steps);
  position: absolute;
  left: 0;
  top: 3px;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--paper);
  background: var(--blue);
  font-family: Georgia, serif;
  font-size: 12px;
}

.numbered-list b,
.numbered-list span {
  display: block;
}

.numbered-list b {
  color: var(--ink);
}

.numbered-list span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 14px;
}

.process-list h4 {
  margin: 0 0 5px;
}

.process-list p {
  margin: 0;
}

.prompt-sample {
  margin: 25px 0 34px;
  padding: 26px 28px;
  overflow-x: auto;
  border: 1px solid var(--line);
  background: #f3f8fa;
  color: #24475a;
  font-family: var(--sans);
  font-size: 13px;
  line-height: 1.85;
  white-space: pre-wrap;
}

.priority-note {
  margin: 22px 0 36px !important;
  padding: 18px 20px;
  border: 1px solid #9ecbde;
  border-left: 4px solid var(--blue-deep);
  background: #edf8fc;
  color: var(--ink);
}

.priority-note b {
  text-decoration: underline;
  text-decoration-color: #73b4cf;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.report-figure {
  margin-top: 36px;
  margin-bottom: 42px;
  padding: 18px;
  border: 1px solid var(--line);
  background: var(--paper);
}

.report-figure img {
  display: block;
  width: 100%;
  height: auto;
}

.report-figure figcaption {
  margin-top: 12px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.75;
  text-align: center;
}

.report-section pre {
  margin: 26px 0 34px;
  padding: 24px 28px;
  overflow-x: auto;
  border: 1px solid var(--line);
  background: #f3f8fa;
  color: #24475a;
  font-size: 13px;
  line-height: 1.85;
  white-space: pre-wrap;
}

.download-panel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 32px;
  margin-bottom: 28px;
}

.download-panel > div {
  padding: 28px;
  border: 1px solid var(--line);
  background: var(--blue-faint);
}

.download-panel h3 {
  margin: 0 0 8px;
  font-size: 21px;
}

.download-panel p {
  color: var(--muted);
  font-size: 14px;
}

.download-panel a {
  display: inline-block;
  margin-top: 8px;
  padding: 11px 16px;
  border: 1px solid var(--blue-deep);
  color: var(--paper);
  background: var(--blue-deep);
  font-size: 13px;
  font-weight: 700;
}

.download-panel a:hover {
  background: var(--blue);
}

.embedded-article {
  margin-top: -10px;
}

.embedded-article h3:first-child {
  margin-top: 0;
}

.article-outline {
  margin: 0 0 42px;
  padding: 20px 24px;
  border: 1px solid var(--line);
  background: var(--blue-faint);
}

.article-outline b,
.article-outline a {
  display: block;
}

.article-outline b {
  margin-bottom: 9px;
  color: var(--ink);
  font-size: 13px;
}

.article-outline a {
  padding: 5px 0;
  color: var(--blue-deep);
  font-size: 13px;
}

.article-outline a:hover {
  text-decoration: underline;
}

.direction-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 30px;
  margin-bottom: 40px;
  border: 1px solid var(--line);
}

.direction-summary > div {
  min-height: 110px;
  padding: 20px;
  border-right: 1px solid var(--line);
  background: var(--blue-faint);
}

.direction-summary > div:last-child {
  border-right: 0;
}

.direction-summary b,
.direction-summary span,
.direction-summary small {
  display: block;
}

.direction-summary b {
  color: var(--blue);
  font-family: Georgia, serif;
  font-size: 14px;
}

.direction-summary span {
  margin-top: 12px;
  color: var(--ink);
  font-family: var(--serif);
  font-size: 16px;
  font-weight: 600;
}

.direction-summary small {
  margin-top: 6px;
  color: var(--muted);
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 500;
  line-height: 1.55;
}

.bonus-section {
  margin-top: 100px;
  padding: 38px 42px;
  border: 1px solid #bad9e6;
  background: var(--blue-faint);
}

.bonus-section .report-section-title {
  margin-bottom: 28px;
}

.bonus-section p:last-child {
  margin-bottom: 0;
}

.back-to-toc {
  display: inline-block;
  margin-top: 24px;
  color: var(--blue-deep);
  font-size: 12px;
  font-weight: 700;
}

.back-to-toc:hover {
  text-decoration: underline;
}

@media (max-width: 760px) {
  body {
    font-size: 16px;
  }

  .site-header-inner {
    width: min(100% - 28px, 1080px);
  }

  .site-header small {
    display: none;
  }

  .site-footer > div {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
  }

  .site-footer p {
    text-align: left;
  }

  .home-shell,
  .report-page {
    width: min(100% - 28px, 780px);
  }

  .home-shell {
    padding-top: 58px;
  }

  .home-intro {
    margin-bottom: 58px;
  }

  .list-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .report-row,
  .report-row-latest {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 22px 18px;
  }

  .report-row i {
    margin-top: 7px;
  }

  .bonus-note {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 24px;
  }

  .report-header {
    padding-top: 48px;
  }

  .report-section {
    padding-top: 72px;
  }

  .report-section-title {
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 10px;
  }

  .report-section h3,
  .embedded-article h3 {
    margin-top: 48px;
    font-size: 22px;
  }

  .opening-note {
    padding: 18px 20px;
    font-size: 16px;
  }

  .wide-block {
    width: 100%;
    margin-left: 0;
    transform: none;
  }

  .report-section .reader-note.wide-block {
    margin-left: 0;
  }

  .stats-row {
    grid-template-columns: 1fr;
  }

  .stats-row > div {
    grid-template-rows: auto;
    padding: 18px 20px;
  }

  .table-wrap {
    overflow-x: auto;
  }

  .table-wrap table {
    min-width: 620px;
  }

  .download-panel {
    grid-template-columns: 1fr;
  }

  .desktop-summary {
    display: none;
  }

  .mobile-summary {
    display: grid;
    gap: 14px;
    margin: 30px 0 40px;
  }

  .mobile-summary article {
    padding: 22px 20px;
    border: 1px solid var(--line);
    background: var(--blue-faint);
  }

  .mobile-summary article > span {
    color: var(--blue);
    font-family: Georgia, serif;
    font-size: 12px;
  }

  .mobile-summary h3 {
    margin: 7px 0 16px;
    font-size: 18px;
  }

  .mobile-summary dl {
    margin: 0;
  }

  .mobile-summary dl > div {
    display: grid;
    grid-template-columns: 45px minmax(0, 1fr);
    gap: 10px;
    padding: 9px 0;
    border-top: 1px solid var(--line);
  }

  .mobile-summary dt {
    color: var(--blue-deep);
    font-weight: 700;
  }

  .mobile-summary dd {
    margin: 0;
    font-size: 13px;
  }

  .book-detail {
    margin-top: 66px;
  }

  .book-detail > header h3 {
    font-size: 24px;
  }

  .mtivs-detail > div {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .mtivs-detail dt span {
    display: inline;
    margin-left: 8px;
  }

  .before-after,
  .direction-summary {
    grid-template-columns: 1fr;
  }

  .before-after > div,
  .direction-summary > div {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .direction-summary > div:last-child {
    border-bottom: 0;
  }

  .numbered-list li,
  .process-list li {
    padding-left: 44px;
  }

  .prompt-sample {
    padding: 21px 18px;
    font-size: 12px;
  }

  .bonus-section {
    margin-top: 76px;
    padding: 28px 22px;
  }
}

@media print {
  @page {
    size: A4;
    margin: 14mm;
  }

  body {
    font-size: 14px;
    line-height: 1.8;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  .site-header,
  .back-home,
  .back-to-toc {
    display: none;
  }

  .report-page,
  .wide-block {
    width: 100%;
    margin-left: 0;
    transform: none;
  }

  .report-header {
    padding-top: 0;
  }

  .report-section {
    padding-top: 48px;
  }

  .report-section-title,
  .book-detail > header,
  .opening-note,
  .reader-note,
  .stats-row,
  .desktop-summary,
  .table-wrap,
  .mtivs-detail > div,
  .before-after > div,
  .direction-summary,
  .article-outline {
    break-inside: avoid;
  }

  .report-section-title,
  .report-section h3,
  .report-section h4,
  .embedded-article h3,
  .embedded-article h4 {
    break-after: avoid;
  }

  table,
  tr {
    break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

  .book-detail > header {
    break-after: avoid;
  }

  .prompt-sample {
    font-size: 12.5px;
    line-height: 1.75;
  }

  .bonus-section {
    break-inside: avoid;
  }
}

/* 追加教材の案内（既存レポートの表示には適用しない） */
.update-resources { margin-top: 76px; }
.update-resources-intro { margin: 0 0 26px; color: var(--muted); font-size: 15px; line-height: 1.9; }
.update-resource-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.update-resource-list article { padding: 24px; border: 1px solid var(--line); background: var(--blue-faint); display: flex; flex-direction: column; }
.update-resource-list h3 { margin: 0 0 12px; color: var(--ink); font-family: var(--serif); font-size: 20px; line-height: 1.6; }
.update-resource-list p { margin: 0 0 18px; color: var(--muted); font-size: 14px; line-height: 1.9; }
.update-resource-list .update-resource-link { margin-top: auto; align-self: flex-start; color: var(--blue-deep); font-size: 14px; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.update-resource-list a:hover { color: var(--blue); }
.update-resource-list a:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }
@media (max-width: 760px) { .update-resource-list { grid-template-columns: 1fr; } .update-resource-list article { padding: 22px; } }

@import "tailwindcss";

:root {
  --ink: #17364a;
  --text: #2e4b5c;
  --muted: #667f8e;
  --blue: #2d82a8;
  --blue-deep: #1b6384;
  --blue-soft: #e9f5fa;
  --blue-faint: #f6fbfd;
  --line: #d2e5ed;
  --paper: #ffffff;
  --cream: #fffcf5;
  --serif: "Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
  --sans: -apple-system, BlinkMacSystemFont, "Hiragino Sans",
    "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", sans-serif;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background: var(--blue-faint);
}

body {
  margin: 0;
  color: var(--text);
  background: var(--paper);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.95;
  letter-spacing: 0.015em;
}

a {
  color: inherit;
  text-decoration: none;
}

.site-header {
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.96);
}

.site-header-inner {
  width: min(1080px, calc(100% - 40px));
  min-height: 68px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.site-header small {
  padding: 5px 10px;
  border: 1px solid var(--line);
  color: var(--blue-deep);
  background: var(--blue-faint);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.site-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.site-brand span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid var(--blue-deep);
  border-radius: 50%;
  color: var(--blue-deep);
  font-family: Georgia, serif;
  font-size: 18px;
}

.site-brand b {
  color: var(--ink);
  font-family: var(--serif);
  font-size: 15px;
  letter-spacing: 0.06em;
}

.site-footer {
  margin-top: 100px;
  padding: 46px 20px;
  border-top: 1px solid var(--line);
  background: var(--blue-faint);
}

.site-footer > div {
  width: min(1080px, 100%);
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 36px;
}

.site-footer-heading {
  flex: 0 0 auto;
}

.site-footer b {
  display: block;
  color: var(--ink);
  font-family: var(--serif);
  font-size: 14px;
}

.site-footer span {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
}

.site-footer p {
  max-width: 560px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.8;
  text-align: right;
}

/* 購入者限定トップページ */

.home-shell {
  width: min(900px, calc(100% - 40px));
  margin: 0 auto;
  padding: 84px 0 20px;
}

.home-intro {
  max-width: 720px;
  margin-bottom: 76px;
}

.site-label {
  display: inline-block;
  margin: 0 0 14px;
  padding: 6px 12px;
  border: 1px solid var(--line);
  background: var(--blue-faint);
  color: var(--blue-deep);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.home-intro h1 {
  margin: 0;
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(34px, 5vw, 48px);
  font-weight: 600;
  line-height: 1.45;
}

.home-intro > p:last-child {
  margin: 22px 0 0;
  color: var(--muted);
  line-height: 2;
}

.report-list + .report-list {
  margin-top: 68px;
}

.list-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}

.list-heading h2 {
  margin: 0;
  color: var(--ink);
  font-family: var(--serif);
  font-size: 21px;
  font-weight: 600;
}

.list-heading p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.report-row {
  min-height: 86px;
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  padding: 18px 4px;
  border-bottom: 1px solid var(--line);
}

.report-row-latest {
  padding: 28px 28px;
  border: 1px solid #bddce8;
  background: var(--blue-faint);
}

.report-row time {
  color: var(--blue-deep);
  font-size: 12px;
  font-weight: 700;
}

.report-row b,
.report-row small {
  display: block;
}

.report-row b {
  color: var(--ink);
  font-family: var(--serif);
  font-size: 18px;
}

.report-row small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.7;
}

.report-row i {
  color: var(--blue-deep);
  font-size: 12px;
  font-style: normal;
}

.report-row:hover b,
.report-row:hover i {
  color: var(--blue);
}

.bonus-note {
  margin-top: 76px;
  padding: 32px 34px;
  border-left: 3px solid var(--blue);
  background: var(--blue-soft);
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.bonus-note h2 {
  margin: 0;
  color: var(--ink);
  font-family: var(--serif);
  font-size: 23px;
  line-height: 1.7;
}

.bonus-note > p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.9;
}

.bonus-note > small {
  color: var(--muted);
  font-size: 12px;
}

/* 月次長文レポート */

.report-page {
  width: min(780px, calc(100% - 40px));
  margin: 0 auto;
}

.report-header {
  padding: 66px 0 36px;
  border-bottom: 1px solid var(--line);
}

.back-home {
  display: inline-block;
  margin-bottom: 35px;
  color: var(--blue-deep);
  font-size: 12px;
  font-weight: 700;
}

.report-date {
  margin: 0 0 8px;
  color: var(--blue-deep);
  font-size: 13px;
  font-weight: 700;
}

.report-header h1 {
  margin: 0;
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(34px, 5.5vw, 46px);
  font-weight: 600;
  line-height: 1.5;
}

.report-lead {
  margin: 24px 0 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 2;
}

.report-toc {
  margin: 34px 0 0;
  padding: 20px 24px;
  border: 1px solid var(--line);
  background: var(--blue-faint);
}

.report-toc summary {
  color: var(--ink);
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
}

.report-toc ol {
  margin: 14px 0 0;
  padding-left: 0;
  list-style: none;
}

.report-toc li {
  margin: 8px 0;
  break-inside: avoid;
  color: var(--blue-deep);
  font-size: 13px;
}

.report-toc .toc-group {
  margin-top: 13px;
  color: var(--ink);
  font-weight: 700;
  list-style: none;
}

.report-toc .toc-subitem {
  margin-left: 1.2em;
}

.report-toc a:hover {
  text-decoration: underline;
}

.report-section {
  scroll-margin-top: 24px;
  padding-top: 92px;
}

.report-section-title {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  align-items: baseline;
  gap: 16px;
  margin-bottom: 36px;
  padding-bottom: 17px;
  border-bottom: 2px solid var(--ink);
}

.report-section-title span {
  color: var(--blue-deep);
  font-family: Georgia, serif;
  font-size: clamp(22px, 3vw, 28px);
  font-weight: 600;
  line-height: 1.2;
}

.report-section-title h2 {
  margin: 0;
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(27px, 4vw, 34px);
  font-weight: 600;
  line-height: 1.55;
  text-wrap: balance;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.report-section h3,
.embedded-article h3 {
  scroll-margin-top: 24px;
  margin: 58px 0 20px;
  color: var(--ink);
  font-family: var(--serif);
  font-size: 24px;
  font-weight: 600;
  line-height: 1.65;
}

.report-section h4,
.embedded-article h4 {
  margin: 36px 0 14px;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.7;
}

.report-section p,
.embedded-article p {
  margin: 0 0 17px;
}

.embedded-article p {
  margin-bottom: 13px;
}

.report-section ul,
.embedded-article ul {
  margin: 20px 0 26px;
  padding-left: 1.4em;
  list-style: disc;
}

.report-section li + li,
.embedded-article li + li {
  margin-top: 8px;
}

.opening-note {
  padding: 20px 24px;
  border-left: 3px solid var(--blue);
  background: var(--blue-faint);
  color: var(--ink);
  font-family: var(--serif);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.9;
}

.reader-note {
  margin-top: -8px;
  margin-bottom: 32px;
  padding: 14px 18px;
  border: 1px solid var(--line);
  background: var(--blue-faint);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.85;
}

.reader-note b {
  color: var(--ink);
}

.report-section .reader-note.wide-block {
  margin-left: 50%;
}

.wide-block {
  width: min(960px, calc(100vw - 40px));
  margin-left: 50%;
  transform: translateX(-50%);
}

.stats-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 36px;
  margin-bottom: 28px;
}

.stats-row > div {
  display: grid;
  grid-template-rows: 44px 52px 24px;
  align-content: start;
  padding: 22px 24px;
  border: 1px solid var(--line);
  background: var(--paper);
}

.stats-row span,
.stats-row strong,
.stats-row small {
  display: block;
}

.stats-row span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.45;
}

.stats-row strong {
  display: flex;
  align-items: flex-start;
  align-self: stretch;
  height: 52px;
  margin: 0;
  padding: 2px 0 0;
  color: var(--blue-deep);
  /*
   * 「約・数字・万円」を同じ和文明朝で描画する。
   * 欧文だけ Georgia にすると、数字と日本語で字面の上下位置がずれる。
   */
  font-family: var(--serif);
  font-size: 29px;
  font-weight: 400;
  font-variant-numeric: tabular-nums;
  line-height: 36px;
}

.stats-row small {
  align-self: start;
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
}

.table-wrap,
.desktop-summary {
  margin-top: 28px;
  margin-bottom: 34px;
  overflow: hidden;
  border: 1px solid var(--line);
}

.desktop-summary table {
  table-layout: fixed;
}

.desktop-summary th:first-child {
  width: 150px;
}

table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  line-height: 1.65;
}

th,
td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
  border-right: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

tr:last-child th,
tr:last-child td {
  border-bottom: 0;
}

th:last-child,
td:last-child {
  border-right: 0;
}

thead th {
  color: var(--ink);
  background: var(--blue-soft);
  font-size: 11px;
}

thead th small {
  color: var(--muted);
  font-size: 9px;
  font-weight: 500;
  line-height: 1.45;
}

tbody th {
  color: var(--ink);
  background: var(--blue-faint);
  font-weight: 700;
}

.data-note {
  color: var(--muted);
  font-size: 12px;
}

.mobile-summary {
  display: none;
}

.book-detail {
  margin-top: 84px;
}

.book-detail > header {
  margin-bottom: 34px;
  padding: 26px 0 24px;
  border-top: 3px solid var(--blue);
  border-bottom: 1px solid var(--line);
}

.book-detail > header span {
  color: var(--blue-deep);
  font-size: 11px;
  font-weight: 700;
}

.book-detail > header h3 {
  margin: 7px 0 5px;
  font-size: 28px;
}

.book-detail > header p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.book-detail > .book-role-heading {
  font-weight: 800;
}

.mtivs-detail {
  margin: 34px 0;
  border-top: 1px solid var(--line);
}

.mtivs-detail > div {
  display: grid;
  grid-template-columns: 125px minmax(0, 1fr);
  gap: 22px;
  padding: 24px 0;
  border-bottom: 1px solid var(--line);
}

.mtivs-detail dt {
  color: var(--blue-deep);
  font-family: Georgia, serif;
  font-size: 23px;
  font-weight: 700;
}

.mtivs-detail dt span {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-family: var(--sans);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.mtivs-detail dd {
  margin: 0;
}

.mtivs-detail dd p:last-child {
  margin-bottom: 0;
}

.before-after {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 30px;
  margin-bottom: 36px;
}

.before-after > div {
  padding: 24px 28px;
  border: 1px solid var(--line);
  background: var(--blue-faint);
}

.before-after h4 {
  margin: 0 0 12px;
  font-family: var(--serif);
}

.before-after ul {
  margin: 0;
  font-size: 14px;
}

.numbered-list,
.process-list {
  padding: 0 !important;
  list-style: none;
  counter-reset: steps;
}

.numbered-list li,
.process-list li {
  position: relative;
  padding: 0 0 24px 52px;
  border-bottom: 1px solid var(--line);
  counter-increment: steps;
}

.numbered-list li::before,
.process-list li::before {
  content: counter(steps);
  position: absolute;
  left: 0;
  top: 3px;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--paper);
  background: var(--blue);
  font-family: Georgia, serif;
  font-size: 12px;
}

.numbered-list b,
.numbered-list span {
  display: block;
}

.numbered-list b {
  color: var(--ink);
}

.numbered-list span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 14px;
}

.process-list h4 {
  margin: 0 0 5px;
}

.process-list p {
  margin: 0;
}

.prompt-sample {
  margin: 25px 0 34px;
  padding: 26px 28px;
  overflow-x: auto;
  border: 1px solid var(--line);
  background: #f3f8fa;
  color: #24475a;
  font-family: var(--sans);
  font-size: 13px;
  line-height: 1.85;
  white-space: pre-wrap;
}

.priority-note {
  margin: 22px 0 36px !important;
  padding: 18px 20px;
  border: 1px solid #9ecbde;
  border-left: 4px solid var(--blue-deep);
  background: #edf8fc;
  color: var(--ink);
}

.priority-note b {
  text-decoration: underline;
  text-decoration-color: #73b4cf;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.report-figure {
  margin-top: 36px;
  margin-bottom: 42px;
  padding: 18px;
  border: 1px solid var(--line);
  background: var(--paper);
}

.report-figure img {
  display: block;
  width: 100%;
  height: auto;
}

.report-figure figcaption {
  margin-top: 12px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.75;
  text-align: center;
}

.report-section pre {
  margin: 26px 0 34px;
  padding: 24px 28px;
  overflow-x: auto;
  border: 1px solid var(--line);
  background: #f3f8fa;
  color: #24475a;
  font-size: 13px;
  line-height: 1.85;
  white-space: pre-wrap;
}

.download-panel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-top: 32px;
  margin-bottom: 28px;
}

.download-panel > div {
  padding: 28px;
  border: 1px solid var(--line);
  background: var(--blue-faint);
}

.download-panel h3 {
  margin: 0 0 8px;
  font-size: 21px;
}

.download-panel p {
  color: var(--muted);
  font-size: 14px;
}

.download-panel a {
  display: inline-block;
  margin-top: 8px;
  padding: 11px 16px;
  border: 1px solid var(--blue-deep);
  color: var(--paper);
  background: var(--blue-deep);
  font-size: 13px;
  font-weight: 700;
}

.download-panel a:hover {
  background: var(--blue);
}

.embedded-article {
  margin-top: -10px;
}

.embedded-article h3:first-child {
  margin-top: 0;
}

.article-outline {
  margin: 0 0 42px;
  padding: 20px 24px;
  border: 1px solid var(--line);
  background: var(--blue-faint);
}

.article-outline b,
.article-outline a {
  display: block;
}

.article-outline b {
  margin-bottom: 9px;
  color: var(--ink);
  font-size: 13px;
}

.article-outline a {
  padding: 5px 0;
  color: var(--blue-deep);
  font-size: 13px;
}

.article-outline a:hover {
  text-decoration: underline;
}

.direction-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 30px;
  margin-bottom: 40px;
  border: 1px solid var(--line);
}

.direction-summary > div {
  min-height: 110px;
  padding: 20px;
  border-right: 1px solid var(--line);
  background: var(--blue-faint);
}

.direction-summary > div:last-child {
  border-right: 0;
}

.direction-summary b,
.direction-summary span,
.direction-summary small {
  display: block;
}

.direction-summary b {
  color: var(--blue);
  font-family: Georgia, serif;
  font-size: 14px;
}

.direction-summary span {
  margin-top: 12px;
  color: var(--ink);
  font-family: var(--serif);
  font-size: 16px;
  font-weight: 600;
}

.direction-summary small {
  margin-top: 6px;
  color: var(--muted);
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 500;
  line-height: 1.55;
}

.bonus-section {
  margin-top: 100px;
  padding: 38px 42px;
  border: 1px solid #bad9e6;
  background: var(--blue-faint);
}

.bonus-section .report-section-title {
  margin-bottom: 28px;
}

.bonus-section p:last-child {
  margin-bottom: 0;
}

.back-to-toc {
  display: inline-block;
  margin-top: 24px;
  color: var(--blue-deep);
  font-size: 12px;
  font-weight: 700;
}

.back-to-toc:hover {
  text-decoration: underline;
}

@media (max-width: 760px) {
  body {
    font-size: 16px;
  }

  .site-header-inner {
    width: min(100% - 28px, 1080px);
  }

  .site-header small {
    display: none;
  }

  .site-footer > div {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
  }

  .site-footer p {
    text-align: left;
  }

  .home-shell,
  .report-page {
    width: min(100% - 28px, 780px);
  }

  .home-shell {
    padding-top: 58px;
  }

  .home-intro {
    margin-bottom: 58px;
  }

  .list-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .report-row,
  .report-row-latest {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 22px 18px;
  }

  .report-row i {
    margin-top: 7px;
  }

  .bonus-note {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 24px;
  }

  .report-header {
    padding-top: 48px;
  }

  .report-section {
    padding-top: 72px;
  }

  .report-section-title {
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 10px;
  }

  .report-section h3,
  .embedded-article h3 {
    margin-top: 48px;
    font-size: 22px;
  }

  .opening-note {
    padding: 18px 20px;
    font-size: 16px;
  }

  .wide-block {
    width: 100%;
    margin-left: 0;
    transform: none;
  }

  .report-section .reader-note.wide-block {
    margin-left: 0;
  }

  .stats-row {
    grid-template-columns: 1fr;
  }

  .stats-row > div {
    grid-template-rows: auto;
    padding: 18px 20px;
  }

  .table-wrap {
    overflow-x: auto;
  }

  .table-wrap table {
    min-width: 620px;
  }

  .download-panel {
    grid-template-columns: 1fr;
  }

  .desktop-summary {
    display: none;
  }

  .mobile-summary {
    display: grid;
    gap: 14px;
    margin: 30px 0 40px;
  }

  .mobile-summary article {
    padding: 22px 20px;
    border: 1px solid var(--line);
    background: var(--blue-faint);
  }

  .mobile-summary article > span {
    color: var(--blue);
    font-family: Georgia, serif;
    font-size: 12px;
  }

  .mobile-summary h3 {
    margin: 7px 0 16px;
    font-size: 18px;
  }

  .mobile-summary dl {
    margin: 0;
  }

  .mobile-summary dl > div {
    display: grid;
    grid-template-columns: 45px minmax(0, 1fr);
    gap: 10px;
    padding: 9px 0;
    border-top: 1px solid var(--line);
  }

  .mobile-summary dt {
    color: var(--blue-deep);
    font-weight: 700;
  }

  .mobile-summary dd {
    margin: 0;
    font-size: 13px;
  }

  .book-detail {
    margin-top: 66px;
  }

  .book-detail > header h3 {
    font-size: 24px;
  }

  .mtivs-detail > div {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .mtivs-detail dt span {
    display: inline;
    margin-left: 8px;
  }

  .before-after,
  .direction-summary {
    grid-template-columns: 1fr;
  }

  .before-after > div,
  .direction-summary > div {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .direction-summary > div:last-child {
    border-bottom: 0;
  }

  .numbered-list li,
  .process-list li {
    padding-left: 44px;
  }

  .prompt-sample {
    padding: 21px 18px;
    font-size: 12px;
  }

  .bonus-section {
    margin-top: 76px;
    padding: 28px 22px;
  }
}

@media print {
  @page {
    size: A4;
    margin: 14mm;
  }

  body {
    font-size: 14px;
    line-height: 1.8;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  .site-header,
  .back-home,
  .back-to-toc {
    display: none;
  }

  .report-page,
  .wide-block {
    width: 100%;
    margin-left: 0;
    transform: none;
  }

  .report-header {
    padding-top: 0;
  }

  .report-section {
    padding-top: 48px;
  }

  .report-section-title,
  .book-detail > header,
  .opening-note,
  .reader-note,
  .stats-row,
  .desktop-summary,
  .table-wrap,
  .mtivs-detail > div,
  .before-after > div,
  .direction-summary,
  .article-outline {
    break-inside: avoid;
  }

  .report-section-title,
  .report-section h3,
  .report-section h4,
  .embedded-article h3,
  .embedded-article h4 {
    break-after: avoid;
  }

  table,
  tr {
    break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

  .book-detail > header {
    break-after: avoid;
  }

  .prompt-sample {
    font-size: 12.5px;
    line-height: 1.75;
  }

  .bonus-section {
    break-inside: avoid;
  }
}

/* 追加教材の案内（既存レポートの表示には適用しない） */
.update-resources { margin-top: 76px; }
.update-resources-intro { margin: 0 0 26px; color: var(--muted); font-size: 15px; line-height: 1.9; }
.update-resource-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.update-resource-list article { padding: 24px; border: 1px solid var(--line); background: var(--blue-faint); display: flex; flex-direction: column; }
.update-resource-list h3 { margin: 0 0 12px; color: var(--ink); font-family: var(--serif); font-size: 20px; line-height: 1.6; }
.update-resource-list p { margin: 0 0 18px; color: var(--muted); font-size: 14px; line-height: 1.9; }
.update-resource-list .update-resource-link { margin-top: auto; align-self: flex-start; color: var(--blue-deep); font-size: 14px; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.update-resource-list a:hover { color: var(--blue); }
.update-resource-list a:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }
@media (max-width: 760px) { .update-resource-list { grid-template-columns: 1fr; } .update-resource-list article { padding: 22px; } }

@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.block{display:block}.contents{display:contents}.flex{display:flex}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.text-wrap{text-wrap:wrap}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--ink:#17364a;--text:#2f4c5e;--muted:#6c8290;--blue:#3d8eaf;--blue-deep:#1f6687;--blue-soft:#e9f5fa;--blue-faint:#f6fbfd;--blue-line:#cee3ec;--cream:#fffaf1;--peach:#f6e5d3;--paper:#fff;--red-soft:#fff3f0;--green-soft:#eef7f2;--serif:"Yu Mincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;--sans:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--blue-faint)}body{color:var(--text);background:var(--paper);font-family:var(--sans);letter-spacing:.015em;margin:0;font-size:17px;line-height:1.95}a{color:inherit;text-decoration:none}p,li,dd,h1,h2,h3{text-wrap:pretty;word-break:auto-phrase}code{border:1px solid var(--blue-line);background:var(--blue-faint);color:var(--blue-deep);border-radius:4px;padding:.12em .4em;font-size:.9em}.site-header{z-index:10;border-bottom:1px solid var(--blue-line);background:#fffffff5;position:relative}.site-header-inner{justify-content:space-between;align-items:center;gap:24px;width:min(1080px,100% - 40px);min-height:68px;margin:0 auto;display:flex}.site-header small,.site-label{border:1px solid var(--blue-line);color:var(--blue-deep);background:var(--blue-faint);letter-spacing:.08em;padding:5px 11px;font-size:13px;font-weight:700}.site-brand{align-items:center;gap:12px;display:inline-flex}.site-brand span{border:1px solid var(--blue-deep);width:34px;height:34px;color:var(--blue-deep);border-radius:50%;place-items:center;font-family:Georgia,serif;font-size:18px;display:grid}.site-brand b{color:var(--ink);font-family:var(--serif);letter-spacing:.06em;font-size:15px}.site-nav{align-items:center;gap:22px;display:flex}.site-nav>a{color:var(--blue-deep);font-size:12px;font-weight:700}.site-nav>a:hover{text-decoration:underline}.site-footer{border-top:1px solid var(--blue-line);background:var(--blue-faint);margin-top:100px;padding:46px 20px}.site-footer>div{justify-content:space-between;align-items:flex-start;gap:36px;width:min(1080px,100%);margin:0 auto;display:flex}.site-footer-heading{flex:none}.site-footer b{color:var(--ink);font-family:var(--serif);font-size:14px;display:block}.site-footer span{color:var(--muted);margin-top:3px;font-size:11px;display:block}.site-footer p{max-width:560px;color:var(--muted);text-align:right;margin:0;font-size:12px;line-height:1.8}.studio-hero{border-bottom:1px solid var(--blue-line);background:linear-gradient(#b2d6e642 1px,#0000 1px) 0 0/34px 34px,linear-gradient(90deg,#b2d6e642 1px,#0000 1px) 0 0/34px 34px,linear-gradient(115deg,#f8fcfe 0%,#eaf6fb 62%,#fff8ee 100%);position:relative;overflow:hidden}.studio-hero:after{content:"";border:1px solid #3d8eaf2e;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-120px;right:-70px;box-shadow:0 0 0 52px #ffffff40,0 0 0 104px #ffffff2e}.studio-hero-inner{z-index:1;width:min(900px,100% - 40px);margin:0 auto;padding:92px 0 88px;position:relative}.site-label{margin:0 0 18px;font-size:16px;display:inline-block}.studio-hero h1{color:var(--ink);font-family:var(--serif);letter-spacing:.08em;margin:0;font-size:clamp(42px,7vw,64px);font-weight:600;line-height:1.35}.hero-lead{color:#4f7183;max-width:720px;margin:24px 0 0;font-size:18px;line-height:2.05}.hero-lead p{margin:0}.hero-lead p+p{margin-top:14px}.hero-principles{flex-wrap:wrap;gap:10px;margin-top:30px;display:flex}.hero-principles span{color:var(--blue-deep);background:#ffffffb8;border:1px solid #1f668738;padding:7px 12px;font-size:12px;font-weight:700}.home-shell{width:min(960px,100% - 40px);margin:0 auto;padding:86px 0 24px}.home-shell>section+section{margin-top:104px}.section-heading{margin-bottom:28px}.section-heading>p{color:var(--blue);letter-spacing:.08em;margin:0 0 6px;font-size:12px;font-weight:700}.section-heading.with-action{justify-content:space-between;align-items:end;gap:24px;display:flex}.section-heading.with-action>div>p{color:var(--blue);letter-spacing:.08em;margin:0 0 6px;font-size:12px;font-weight:700}.section-heading.with-action>a{color:var(--blue-deep);font-size:13px;font-weight:700}.section-heading.with-action>a:hover{text-decoration:underline}.section-heading h2{color:var(--ink);font-family:var(--serif);margin:0;font-size:clamp(27px,4vw,34px);font-weight:600}.section-intro{max-width:680px;color:var(--muted);margin:-12px 0 28px}.latest-update{border:1px solid var(--blue-line);background:linear-gradient(145deg, var(--blue-faint), #fff 62%, var(--cream));grid-template-columns:minmax(0,1.45fr) minmax(230px,.65fr);align-items:stretch;gap:34px;padding:42px 44px;display:grid}.latest-update-copy>p:first-child{color:var(--blue);letter-spacing:.09em;margin:0 0 6px;font-size:12px;font-weight:700}.latest-update-copy h2{color:var(--ink);font-family:var(--serif);margin:0;font-size:clamp(29px,4vw,38px);font-weight:600;line-height:1.55}.latest-update-copy>p:last-of-type{color:var(--muted);margin:18px 0 0;font-size:14px}.latest-update-actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.latest-update-actions a,.latest-update-actions button{border:1px solid var(--blue-deep);min-height:42px;color:var(--blue-deep);font:inherit;cursor:pointer;background:#fff;align-items:center;padding:9px 15px;font-size:12px;font-weight:700;display:inline-flex}.latest-update-actions a{background:var(--blue-deep);color:#fff}.latest-update-points{align-content:center;gap:8px;display:grid}.latest-update-points span{border:1px solid var(--blue-line);color:var(--ink);background:#fffc;padding:13px 15px;font-size:12px;font-weight:700}.article-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.article-card{border:1px solid var(--blue-line);background:var(--paper);flex-direction:column;justify-content:space-between;min-height:370px;padding:34px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}.article-card-primary{background:linear-gradient(150deg, var(--blue-faint), #fff)}.article-card:hover{border-color:#9dc9da;transform:translateY(-3px);box-shadow:0 16px 36px #194a6014}.article-number{color:var(--blue);letter-spacing:.14em;font-family:Georgia,serif;font-size:14px}.article-meta{color:var(--muted);margin:0 0 10px;font-size:11px;font-weight:700}.article-card h3{color:var(--ink);font-family:var(--serif);margin:0;font-size:24px;line-height:1.65}.article-card p:not(.article-meta){color:var(--muted);margin:18px 0 20px;font-size:14px;line-height:1.85}.article-related{color:var(--blue-deep);margin:-8px 0 16px;font-size:10px;font-weight:700;display:block}.article-card b{color:var(--blue-deep);font-size:13px}.article-card b span{margin-left:6px}.start-guide{border:1px solid var(--blue-line);background:linear-gradient(145deg, var(--blue-faint), #fff);padding:38px 40px}.start-guide-intro{max-width:720px;color:var(--muted);margin:-12px 0 22px;font-size:14px}.start-steps{margin:0;padding:0;list-style:none}.start-steps li{border-bottom:1px solid var(--blue-line);grid-template-columns:34px 1fr;align-items:start;gap:14px;padding:11px 0;display:grid}.start-steps li>span{border:1px solid var(--blue-line);width:28px;height:28px;color:var(--blue-deep);border-radius:50%;place-items:center;font-family:Georgia,serif;font-size:12px;display:grid}.start-steps p{color:var(--muted);margin:0;font-size:14px}.start-steps b{color:var(--ink);font-size:15px;display:block}.start-steps b a{color:var(--blue-deep)}.start-steps b a:hover{text-decoration:underline}.button-link{background:var(--blue-deep);color:#fff;margin-top:24px;padding:11px 18px;font-size:13px;font-weight:700;display:inline-flex}.category-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.category-card{border:1px solid var(--blue-line);background:var(--paper);grid-template-columns:34px 1fr;gap:15px;padding:25px 26px;display:grid}.category-card:hover{background:var(--blue-faint);border-color:#93c6da}.category-card>span{color:var(--blue);font-family:Georgia,serif;font-size:11px}.category-card h3{color:var(--ink);font-family:var(--serif);margin:0;font-size:19px}.category-card p{color:var(--muted);margin:7px 0;font-size:12px;line-height:1.7}.category-card small{color:var(--blue-deep);font-size:10px;font-weight:700}.map-table{border-top:1px solid var(--blue-line)}.map-row{border-bottom:1px solid var(--blue-line);grid-template-columns:1.05fr 2fr .9fr;align-items:center;min-height:68px;display:grid}.map-row>*{padding:14px 16px}.map-row>*+*{border-left:1px solid var(--blue-line)}.map-row a{color:var(--blue-deep);font-weight:700}.map-row a:hover{text-decoration:underline}.map-head{background:var(--blue-faint);min-height:48px;color:var(--ink);font-size:12px;font-weight:700}.download-library{scroll-margin-top:30px}.download-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.download-card{border:1px solid var(--blue-line);background:var(--blue-faint);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;grid-template-columns:34px 1fr 24px;align-items:center;gap:14px;padding:20px 22px;display:grid}.download-card:hover{background:var(--blue-soft);border-color:#93c6da}.download-card>span{color:var(--blue);font-family:Georgia,serif;font-size:11px}.download-card b,.download-card small{display:block}.download-card b{color:var(--ink);font-size:14px}.download-card small{color:var(--muted);margin-top:2px;font-size:11px;line-height:1.5}.download-card i{color:var(--blue-deep);text-align:right;font-size:18px;font-style:normal}.inline-resource-links{flex-wrap:wrap;gap:10px 20px;margin:22px 0;display:flex}.inline-resource-links a{color:var(--blue-deep);font-size:14px;font-weight:700}.inline-resource-links a:hover{text-decoration:underline}.article-shell{width:min(820px,100% - 40px);margin:0 auto;padding:38px 0 0}.breadcrumb{color:var(--muted);flex-wrap:wrap;gap:8px;margin-bottom:48px;font-size:12px;display:flex}.breadcrumb a{color:var(--blue-deep)}.article-header{border-bottom:1px solid var(--blue-line);padding-bottom:52px}.article-kicker{color:var(--blue);letter-spacing:.12em;margin:0 0 12px;font-size:13px;font-weight:700}.article-header h1{color:var(--ink);font-family:var(--serif);letter-spacing:.025em;margin:0;font-size:clamp(34px,6vw,50px);font-weight:600;line-height:1.5}.article-summary{color:#4f6c7c;margin:24px 0 0;font-size:19px;line-height:2}.article-summary p{margin:0}.article-summary p+p{margin-top:14px}.article-context{border-left:3px solid var(--blue);background:var(--blue-faint);color:#4f6c7c;margin:24px 0 0;padding:18px 20px;font-size:14px;line-height:1.9}.article-facts{border:1px solid var(--blue-line);background:var(--blue-faint);grid-template-columns:repeat(3,1fr);gap:0;margin:34px 0 0;display:grid}.article-facts>div{padding:15px 17px}.article-facts>div+div{border-left:1px solid var(--blue-line)}.article-facts dt{color:var(--muted);font-size:10px;font-weight:700}.article-facts dd{color:var(--ink);margin:4px 0 0;font-size:12px;line-height:1.6}.toc{border:1px solid var(--blue-line);background:var(--blue-faint);margin:42px 0 78px;padding:22px 26px}.toc summary{cursor:pointer;color:var(--ink);font-weight:700}.toc ol{margin:16px 0 0;padding-left:1.5em}.toc li{color:var(--blue-deep);margin:5px 0;font-size:14px}.toc a:hover{text-decoration:underline}.article-tool-cta{border:1px solid var(--blue-line);border-left:4px solid var(--blue);background:linear-gradient(145deg, var(--blue-faint), #fff);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:26px;margin:44px 0;padding:26px 28px;display:grid}.article-tool-cta p{color:var(--blue);letter-spacing:.08em;margin:0;font-size:10px;font-weight:700}.article-tool-cta h2{color:var(--ink);font-family:var(--serif);margin:3px 0 0;font-size:22px;font-weight:600}.article-tool-cta span{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.7;display:block}.article-tool-cta button{background:var(--blue-deep);color:#fff;font:inherit;cursor:pointer;border:0;padding:11px 16px;font-size:12px;font-weight:700}.article-shell>section,.article-shell>.case-example{margin-top:90px;scroll-margin-top:32px}.article-shell section>h2:not(.case-example h2),.case-intro h2,.anti-ai-check h2,.case-conclusion h2{color:var(--ink);font-family:var(--serif);margin:0 0 28px;font-size:clamp(27px,4vw,34px);font-weight:600;line-height:1.6}.article-shell section>h2>span{border:1px solid var(--blue-line);width:34px;height:34px;color:var(--blue);vertical-align:5px;place-items:center;margin-right:12px;font-family:Georgia,serif;font-size:14px;display:inline-grid}.article-shell section>p{margin:0 0 24px}.article-shell h3{color:var(--ink);font-size:17px}.article-shell ul{padding-left:1.25em}.article-shell li{margin:7px 0}.article-shell blockquote{border-left:3px solid var(--blue);background:var(--blue-faint);color:#35566a;margin:32px 0;padding:26px 30px}.note-box,.warning-box,.lesson-box{border:1px solid var(--blue-line);background:var(--cream);margin:34px 0;padding:24px 28px}.note-box b,.warning-box b,.lesson-box b{color:var(--ink)}.note-box p,.warning-box p,.lesson-box p{margin:8px 0 0}.warning-box{background:var(--red-soft);border-color:#edc9bd}.phase-label{color:var(--blue);letter-spacing:.13em;font-family:Georgia,serif;font-size:12px;font-weight:700;margin:0 0 7px!important}.role-split{grid-template-columns:1fr 1fr;gap:14px;margin:38px 0;display:grid}.role-split>section{border:1px solid var(--blue-line);background:var(--blue-faint);padding:24px 26px}.role-split>section>p{color:var(--blue);letter-spacing:.13em;margin:0;font-family:Georgia,serif;font-size:10px;font-weight:700}.role-split ul{margin:0}.revision-section>p:not(.phase-label){color:var(--muted)}.revision-example{border-top:1px solid var(--blue-line);margin:34px 0}.revision-example>header{grid-template-columns:44px 1fr;align-items:start;gap:14px;padding:22px 0;display:grid}.revision-example>header>span{color:var(--blue);letter-spacing:.12em;font-family:Georgia,serif;font-size:12px}.revision-example>header p{color:var(--blue);letter-spacing:.08em;margin:0;font-size:10px;font-weight:700}.revision-example>header h3{font-family:var(--serif);margin:2px 0 0;font-size:23px;font-weight:600}.revision-stages{grid-template-columns:1fr 1fr;gap:10px;display:grid}.revision-stages>section{border:1px solid var(--blue-line);background:var(--blue-faint);min-width:0;padding:23px 24px}.revision-stages>.revision-before{background:#fbfbfa}.revision-stages>.revision-after{background:var(--green-soft)}.revision-stages>section>p:first-child{color:var(--blue-deep);letter-spacing:.06em;margin:0;font-size:10px;font-weight:700}.revision-stages h4{color:var(--ink);margin:4px 0 13px;font-size:15px}.revision-stages>section>p:last-child{margin:0;font-size:13px;line-height:1.8}.revision-stages blockquote{background:0 0;border:0;margin:0;padding:0;font-size:13px;line-height:1.85}.two-column,.rule-pair,.review-levels{grid-template-columns:1fr 1fr;gap:14px;margin:30px 0;display:grid}.two-column>div,.rule-pair>div,.review-levels>div{border:1px solid var(--blue-line);background:var(--blue-faint);padding:24px 26px}.two-column h3,.rule-pair h3{margin:0}.two-column ul{margin-bottom:0}.rule-label{color:var(--blue);letter-spacing:.14em;font-size:10px;font-weight:700;margin:0 0 4px!important}.rule-pair p:last-child{color:var(--muted);margin-bottom:0;font-size:14px}.steps{counter-reset:step;margin:28px 0;padding:0;list-style:none}.steps li{border-bottom:1px solid var(--blue-line);grid-template-columns:220px 1fr;gap:20px;margin:0;padding:16px 0;display:grid}.steps b{color:var(--ink)}.steps span{color:var(--muted)}.timeline{margin:34px 0;padding:0;list-style:none}.timeline li{border-bottom:1px solid var(--blue-line);grid-template-columns:56px 1fr;gap:20px;margin:0;padding:20px 0;display:grid}.timeline li>span{color:var(--blue);letter-spacing:.08em;font-family:Georgia,serif;font-size:13px}.timeline b{color:var(--ink);font-size:18px}.timeline p{color:var(--muted);margin:4px 0 0;font-size:14px}.review-levels{grid-template-columns:repeat(3,1fr)}.review-levels>div{padding:22px 20px}.review-levels span{color:var(--blue);font-family:Georgia,serif;font-size:12px;display:block}.review-levels b{color:var(--ink);margin-top:3px;font-size:15px;display:block}.review-levels p{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.7}.text-link{color:var(--blue-deep);margin-top:8px;font-weight:700;display:inline-block}.text-link:hover{text-decoration:underline}.article-end{border-top:1px solid var(--blue-line);color:var(--muted);margin-top:90px;padding:24px 0;font-size:11px}.article-end p{margin:2px 0}.question-map{grid-template-columns:repeat(3,1fr);gap:12px;margin:32px 0;display:grid}.question-map article{border:1px solid var(--blue-line);background:var(--blue-faint);padding:22px 20px}.question-map article>span,.artifact-label{color:var(--blue-deep);letter-spacing:.08em;font-size:10px;font-weight:700}.question-map h3{margin:7px 0 10px;font-size:15px;line-height:1.65}.question-map p{color:var(--muted);margin:0 0 12px;font-size:12px;line-height:1.7}.question-map small{color:var(--blue-deep);font-size:10px;font-weight:700}.artifact-stack{margin:34px 0}.artifact-stack>article{border:1px solid var(--blue-line);background:#fff;padding:26px 28px}.artifact-stack>article+article{border-top:0}.artifact-stack blockquote{margin:12px 0 18px}.artifact-stack article>p:last-child{color:var(--muted);margin-bottom:0;font-size:13px}.structure-diff{grid-template-columns:1fr 40px 1fr;align-items:stretch;gap:12px;margin:34px 0;display:grid}.structure-diff>div{border:1px solid var(--blue-line);background:var(--cream);padding:24px 26px}.structure-diff>span{color:var(--blue);place-items:center;font-size:20px;display:grid}.structure-diff h3{margin:5px 0 10px;line-height:1.65}.structure-diff p:last-child{color:var(--muted);margin:0;font-size:13px}.review-comparison{grid-template-columns:repeat(3,1fr);gap:10px;margin:28px 0;display:grid}.review-comparison article{border:1px solid var(--blue-line);background:var(--blue-faint);padding:20px}.review-comparison article b{color:var(--ink);font-size:13px}.review-comparison article p{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.75}.review-comparison .review-decision{border-left:3px solid var(--blue);background:var(--cream);grid-column:1/-1}.next-reading{flex-wrap:wrap;gap:10px 26px;margin-top:28px;display:flex}.next-reading a{color:var(--blue-deep);font-size:13px;font-weight:700}.next-reading a:hover{text-decoration:underline}.index-shell{width:min(920px,100% - 40px);margin:0 auto;padding:38px 0 0}.index-header{border-bottom:1px solid var(--blue-line);max-width:760px;padding:20px 0 58px}.index-header h1{color:var(--ink);font-family:var(--serif);margin:0;font-size:clamp(34px,6vw,48px);font-weight:600;line-height:1.5}.index-header>p:not(.article-kicker){color:var(--muted);margin:22px 0 0}.index-header>p:not(.article-kicker)+p{margin-top:10px}.library-sections,.resource-list{margin-top:70px}.library-category{border-bottom:1px solid var(--blue-line);padding:36px 0;scroll-margin-top:24px}.library-category>header{justify-content:space-between;align-items:end;gap:24px;display:flex}.library-category>header p{color:var(--blue);margin:0 0 3px;font-size:10px;font-weight:700}.library-category h2{color:var(--ink);font-family:var(--serif);margin:0;font-size:28px;font-weight:600}.library-category>header>span{color:var(--muted);font-size:11px}.category-description{color:var(--muted);margin:10px 0 22px;font-size:14px}.library-row{border:1px solid var(--blue-line);background:var(--blue-faint);grid-template-columns:34px minmax(0,1fr) 28px;align-items:center;gap:15px;padding:24px;display:grid}.library-row>span{color:var(--blue);font-family:Georgia,serif;font-size:11px}.library-row h3{color:var(--ink);font-family:var(--serif);margin:0;font-size:20px}.library-row p{color:var(--muted);margin:7px 0;font-size:12px;line-height:1.7}.library-row small{color:var(--blue-deep);font-size:10px}.library-row>b{color:var(--blue-deep)}.empty-category{border:1px dashed var(--blue-line);color:var(--muted);margin:0;padding:18px 20px;font-size:13px}.upcoming-categories{border:1px solid var(--blue-line);background:var(--blue-faint);margin-top:70px;padding:30px 32px}.upcoming-categories>p{color:var(--blue);margin:0;font-size:12px;font-weight:700}.upcoming-categories h2{color:var(--ink);font-family:var(--serif);margin:4px 0 20px;font-size:23px}.upcoming-categories>div{grid-template-columns:1fr 1fr;gap:8px;display:grid}.upcoming-categories>div>div{border:1px solid var(--blue-line);background:#fff;padding:13px 15px;scroll-margin-top:24px}.upcoming-categories b,.upcoming-categories span{display:block}.upcoming-categories b{color:var(--ink);font-size:13px}.upcoming-categories span{color:var(--muted);margin-top:2px;font-size:10px}.resource-list{grid-template-columns:minmax(0,1fr);gap:18px;display:grid}.resource-card{border:1px solid var(--blue-line);width:100%;min-width:0;padding:30px 32px;scroll-margin-top:24px}.resource-card>header{grid-template-columns:40px 1fr;gap:15px;display:grid}.resource-card>header>div{min-width:0}.resource-card>header>span{color:var(--blue);font-family:Georgia,serif;font-size:12px}.resource-card h2{color:var(--ink);font-family:var(--serif);margin:0;font-size:24px}.resource-card header p{color:var(--muted);margin:6px 0 0;font-size:13px}.resource-card dl{border:1px solid var(--blue-line);background:var(--blue-faint);grid-template-columns:repeat(3,1fr);margin:24px 0 18px;display:grid}.resource-card dl>div{padding:13px 15px}.resource-card dl>div+div{border-left:1px solid var(--blue-line)}.resource-card dt{color:var(--muted);font-size:9px;font-weight:700}.resource-card dd{color:var(--ink);margin:4px 0 0;font-size:11px;line-height:1.6}.resource-card ol{color:var(--muted);margin:0 0 22px;padding-left:1.4em;font-size:12px}.resource-actions{flex-wrap:wrap;gap:10px 22px;display:flex}.resource-actions a,.resource-actions button{color:var(--blue-deep);font-size:12px;font-weight:700}.resource-actions button:first-child{background:var(--blue-deep);color:#fff;cursor:pointer;border:0;padding:8px 13px;font-family:inherit}.case-study-shell .article-header{margin-bottom:84px}.case-intro{border:1px solid var(--blue-line);background:var(--blue-faint);padding:32px 34px}.case-intro h2{font-size:25px}.case-intro p:last-child{margin-bottom:0}.case-group{border-top:1px solid var(--blue-line);border-bottom:1px solid var(--blue-line);background:linear-gradient(145deg, var(--blue-faint), #fff);padding:30px 34px}.case-group-label{color:var(--blue);letter-spacing:.14em;font-family:Georgia,serif;font-size:12px;font-weight:700;margin:0 0 5px!important}.case-group h2{color:var(--ink);font-family:var(--serif);margin:0 0 12px;font-size:28px;font-weight:600;line-height:1.6}.case-group p:last-child{color:var(--muted);margin-bottom:0}.case-example{border-top:1px solid var(--blue-line);padding-top:10px}.case-example>header{grid-template-columns:46px 1fr;align-items:start;gap:16px;margin-bottom:30px;display:grid}.case-example>header>span{color:var(--blue);letter-spacing:.12em;margin-top:8px;font-family:Georgia,serif;font-size:12px}.case-example h2{color:var(--ink);font-family:var(--serif);margin:0;font-size:31px;font-weight:600;line-height:1.6}.compare-block,.feedback-block{border:1px solid var(--blue-line);margin:16px 0;padding:28px 30px}.before-block{background:#fbfbfa}.after-block{background:var(--green-soft)}.feedback-block{border-left:3px solid var(--blue);background:var(--blue-faint)}.decision-block{background:var(--green-soft);border-left-color:#6a9d8f}.material-meta{color:var(--blue-deep);letter-spacing:.035em;border-bottom:1px solid #4c849e38;padding-bottom:9px;font-size:11px;font-weight:700;line-height:1.7;margin:0 0 12px!important}.compare-block>h3,.feedback-block>h3{margin:0 0 12px;font-size:17px}.source-caption{color:var(--muted);font-size:13px;line-height:1.8;margin:0 0 14px!important}.compare-block div>p,.feedback-block div>p{margin:0 0 14px}.compare-block div>p:last-child,.feedback-block div>p:last-child{margin-bottom:0}.compare-block blockquote{background:0 0;border:0;margin:0;padding:0}.compare-block blockquote>p{margin:0 0 14px}.compare-block blockquote>p:last-child{margin-bottom:0}.source-note{border-left:3px solid var(--blue);background:var(--blue-faint);color:#4f6c7c;padding:16px 18px;font-size:14px;margin:28px 0 16px!important}.lesson-box{background:var(--cream);margin-top:18px}.check-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.check-grid>div{border:1px solid var(--blue-line);background:var(--blue-faint);padding:24px 26px}.check-grid h3{margin:0 0 10px;font-family:inherit;font-size:17px;font-weight:700}.check-grid ul{margin:0;padding:0;list-style:none}.case-conclusion{border-left:3px solid var(--blue);background:var(--cream);padding:36px 38px}.case-conclusion h2{font-size:28px}.rewrite-article-shell{width:min(900px,100% - 40px)}.rewrite-article-shell .article-header{padding-bottom:46px}.rewrite-article-shell .article-summary{max-width:800px}.rewrite-article-shell>section{margin-top:104px}.rewrite-article-shell>section>h3{margin:42px 0 14px;font-size:22px}.rewrite-article-header{padding-top:28px}.article-audience{border-top:1px solid var(--blue-line);margin-top:38px;padding-top:28px}.article-audience h2{margin:0 0 12px;font-size:20px}.article-audience ul{margin:0}.rewrite-article-shell .toc,.rewrite-article-shell .article-tool-cta{background:#fff}.rewrite-article-shell .article-tool-cta{border-left-width:1px}.step-label{color:var(--blue-deep);letter-spacing:.08em;font-size:13px;font-weight:800;margin:0 0 10px!important}.definition-note{border-left:3px solid var(--blue);margin:34px 0;padding:20px 0 20px 22px}.definition-note b{color:var(--ink)}.definition-note p{margin:6px 0 0}.main-quote{font-family:var(--serif);font-size:24px;font-weight:600;line-height:1.8;border:1px solid var(--blue-line)!important;border-left:4px solid var(--blue-deep)!important;background:var(--cream)!important;color:var(--ink)!important;margin:42px 0!important;padding:34px 38px!important}.prompt-block{border:1px solid var(--blue-line);background:#fff;margin:30px 0}.prompt-block>p{border-bottom:1px solid var(--blue-line);color:var(--blue-deep);margin:0;padding:12px 18px;font-size:13px;font-weight:800}.prompt-block pre{color:#284756;font-family:var(--sans);white-space:pre-wrap;background:#fff;margin:0;padding:24px;font-size:14px;line-height:1.9;overflow-x:auto}.review-level-list{margin:28px 0}.rewrite-article-shell .check-grid>div{background:#fff}.role-split{gap:20px;margin:44px 0}.role-split>section{background:#f8fbfc;padding:28px 30px}.role-split>section:last-child{background:#fffaf1}.role-split h3{margin:0 0 14px;font-size:19px}.role-split li{font-size:15px;line-height:1.85}.rule-pair>div{background:#fff;padding:28px 30px}.rule-pair>div:first-child{border-top:3px solid var(--blue)}.rule-pair>div:last-child{border-top:3px solid #b4946e}.revision-section{border-top:1px solid var(--blue-line);margin-top:82px;padding-top:64px;scroll-margin-top:32px}.revision-section>h2{color:var(--ink);font-family:var(--serif);margin:0 0 24px;font-size:clamp(27px,4vw,34px);font-weight:600;line-height:1.6}.revision-section>p{margin:0 0 28px}.revision-example{margin:46px 0 58px}.revision-example>header{padding:24px 0}.revision-example>header p{font-size:12px}.revision-stages{grid-template-columns:1fr 1fr;gap:14px}.revision-stages>section{background:#fff;padding:26px 28px}.rewrite-article-shell .revision-stages{grid-template-columns:1fr;gap:0}.rewrite-article-shell .revision-stages>section,.rewrite-article-shell .revision-stages>.revision-before,.rewrite-article-shell .revision-stages>.revision-after{background:#fff;border-bottom:0}.rewrite-article-shell .revision-stages>section:last-child{border-bottom:1px solid var(--blue-line)}.revision-stages>section>p:first-child{color:var(--text);letter-spacing:0;font-size:15px;font-weight:400}.revision-stages h4{margin:0 0 14px;font-size:16px;line-height:1.6}.revision-stages blockquote{color:var(--text);font-size:15px}.article-figure{margin:42px 0}.article-figure img{background:#fff;border:1px solid #dfe8ec;width:100%;height:auto;display:block;box-shadow:0 12px 30px #16435814}.article-figure figcaption{color:var(--muted);text-align:center;margin-top:12px;font-size:13px;line-height:1.7}.article-figure-wide{margin-left:-40px;margin-right:-40px}.article-figure-tall{width:min(600px,100%);margin-left:auto;margin-right:auto}.image-pair{grid-template-columns:1fr 1fr;align-items:start;gap:24px;margin:44px 0;display:grid}.image-pair .article-figure{margin:0}.image-pair-landscape{align-items:center}.image-showcase{grid-template-columns:repeat(3,1fr);align-items:start;gap:20px;margin:44px 0;display:grid}.image-showcase .article-figure{margin:0}.plain-steps{margin:28px 0;padding-left:1.4em}.plain-steps li{margin:10px 0}.bookshelf-link-wrap{text-align:center;margin:-10px 0 40px!important}.bookshelf-link{border:1px solid var(--blue-deep);color:var(--blue-deep);padding:13px 22px;font-size:15px;font-weight:800;display:inline-block}.bookshelf-link:hover{background:var(--blue-faint)}.rewrite-conclusion{border-top:1px solid var(--blue-line);padding-top:64px}@media (max-width:760px){body{font-size:16px;line-height:1.9}.site-header-inner{width:min(100% - 28px,1080px);min-height:60px}.site-brand b{font-size:13px}.site-header small{font-size:10px}.site-nav{gap:12px}.site-nav>a{display:none}.studio-hero-inner{width:min(100% - 32px,900px);padding:64px 0 58px}.studio-hero h1{font-size:39px}.hero-lead{font-size:16px}.hero-principles{grid-template-columns:1fr;display:grid}.hero-principles span{width:max-content}.home-shell{width:min(100% - 28px,960px);padding-top:62px}.home-shell>section+section{margin-top:78px}.article-grid,.download-grid,.category-grid,.latest-update{grid-template-columns:minmax(0,1fr)}.section-heading.with-action{flex-direction:column;align-items:start;gap:8px}.start-guide{padding:28px 24px}.latest-update{gap:24px;padding:30px 25px}.latest-update-actions{flex-direction:column;align-items:stretch}.latest-update-actions a,.latest-update-actions button{justify-content:center}.article-card{min-height:330px;padding:28px}.map-head{display:none}.map-row{grid-template-columns:1fr;padding:15px 0}.map-row>*{padding:4px 14px;border:0!important}.map-row>span:first-child{color:var(--muted);font-size:11px;font-weight:700}.map-row>span:last-child{font-size:11px}.site-footer{margin-top:72px}.site-footer>div{display:block}.site-footer p{text-align:left;margin-top:20px}.article-shell{width:min(100% - 28px,820px);padding-top:24px}.breadcrumb{margin-bottom:30px}.article-header h1{font-size:34px;line-height:1.5}.article-summary{font-size:17px}.article-facts{grid-template-columns:1fr}.article-facts>div+div{border-left:0;border-top:1px solid var(--blue-line)}.toc{margin-bottom:60px;padding:18px 20px}.article-tool-cta{grid-template-columns:1fr;padding:23px 21px}.article-tool-cta button{width:100%}.article-shell>section,.article-shell>.case-example{margin-top:70px}.article-shell section>h2:not(.case-example h2),.case-intro h2,.anti-ai-check h2,.case-conclusion h2{font-size:27px}.two-column,.rule-pair,.review-levels,.check-grid,.question-map,.review-comparison,.upcoming-categories>div,.resource-card dl,.role-split,.revision-stages{grid-template-columns:1fr}.resource-card dl>div+div{border-left:0;border-top:1px solid var(--blue-line)}.structure-diff{grid-template-columns:1fr}.structure-diff>span{min-height:30px;transform:rotate(90deg)}.review-comparison .review-decision{grid-column:auto}.steps li{grid-template-columns:1fr;gap:2px}.case-intro,.case-group,.case-conclusion{padding:27px 24px}.case-example>header{grid-template-columns:1fr;gap:4px}.case-example h2{font-size:27px}.compare-block,.feedback-block{padding:24px 21px}.index-shell{width:min(100% - 28px,920px);padding-top:24px}.index-header{padding-bottom:42px}.resource-card{padding:25px 22px}.revision-example>header{grid-template-columns:32px 1fr}.revision-stages>section{padding:21px 20px}.rewrite-article-shell{width:min(100% - 28px,900px)}.rewrite-article-shell>section{margin-top:78px}.main-quote{font-size:20px;padding:27px 23px!important}.prompt-block pre{padding:20px 18px;font-size:13px}.role-split>section{padding:25px 23px}.role-split li{font-size:14px}.revision-section{margin-top:62px;padding-top:52px}.revision-stages{grid-template-columns:1fr}.article-figure-wide{margin-left:0;margin-right:0}.image-pair,.image-showcase{grid-template-columns:1fr;gap:38px}}@media print{@page{size:A4;margin:16mm 15mm 18mm}html,body{color:#222;background:#fff;font-size:11pt;line-height:1.75}.site-header{position:static}.site-header,.site-footer{box-shadow:none;background:#fff}.site-footer{display:none}.site-header-inner,.site-footer>div,.article-shell{width:100%}.breadcrumb,.toc,.text-link,.site-nav,.button-link,.resource-actions,.article-tool-cta button{display:none}.article-header{padding-bottom:24px}.article-header h1{font-size:25pt}.article-summary{font-size:12pt}.article-facts{break-inside:avoid}.article-shell>section,.article-shell>.case-example{margin-top:38px}.case-example,.compare-block,.feedback-block,.note-box,.warning-box,.lesson-box,.rule-pair,.review-levels,.timeline li,.question-map,.artifact-stack>article,.structure-diff,.review-comparison article,.resource-card,.library-category{break-inside:avoid}a{color:inherit}}.monthly-home{--ink:#203d45;--muted:#64797d;--line:#dce5e5;--accent:#216778;--paper:#fff;--soft:#f2f7f7}.monthly-home *{box-sizing:border-box}html:has(.monthly-home){scroll-behavior:smooth;scroll-padding-top:28px}.monthly-home{color:var(--ink);background:#fafcfb;margin:0;font-family:-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;font-size:16px;line-height:1.85}.monthly-home a{color:inherit;text-decoration:none}.monthly-home button,.monthly-home a,.monthly-home summary{-webkit-tap-highlight-color:transparent}.monthly-home a:focus-visible,.monthly-home summary:focus-visible{outline-offset:5px;outline:3px solid #67a4b4}.monthly-home .preview{text-align:center;color:#44636b;letter-spacing:.04em;background:#e8f1f2;padding:7px 20px;font-size:12px}.monthly-home .header{border-bottom:1px solid var(--line);background:#fff}.monthly-home .header-inner{justify-content:space-between;align-items:center;gap:24px;max-width:1040px;margin:auto;padding:22px 32px;display:flex}.monthly-home .brand{letter-spacing:.08em;align-items:center;gap:12px;font-size:17px;font-weight:650;display:flex}.monthly-home .brand-mark{color:var(--accent);border:1px solid #70a2ad;border-radius:50%;place-items:center;width:34px;height:34px;font:22px Georgia,serif;display:grid}.monthly-home .header nav{align-items:center;gap:26px;font-size:13px;display:flex}.monthly-home .header nav a:hover{text-decoration:underline}.monthly-home .member{color:var(--muted);border:1px solid var(--line);padding:3px 10px;font-size:11px}.monthly-home .shell{max-width:900px;margin:auto;padding:0 36px}.monthly-home .intro{padding:57px 0 33px}.monthly-home .eyebrow{letter-spacing:.12em;color:var(--accent);margin:0 0 8px;font-size:12px;font-weight:650}.monthly-home h1{letter-spacing:.055em;margin:0 0 14px;font-family:Hiragino Mincho ProN,Yu Mincho,serif;font-size:36px;line-height:1.5}.monthly-home .intro p:not(.eyebrow){color:var(--muted);margin:0;font-size:14px}.monthly-home .quick{align-items:center;gap:24px;margin-top:23px;font-size:13px;display:flex}.monthly-home .quick a{color:var(--accent);border-bottom:1px solid #c3d6d9}.monthly-home .section-title{justify-content:space-between;align-items:center;gap:16px;margin:25px 0 13px;display:flex}.monthly-home .section-title h2{margin:0;font-size:19px;font-weight:650}.monthly-home .section-title span{color:var(--muted);font-size:12px}.monthly-home .latest{background:var(--paper);border:1px solid #abc9d0;border-top:3px solid var(--accent);border-radius:5px;padding:24px 28px 27px}.monthly-home .date-line{color:var(--accent);letter-spacing:.04em;align-items:center;gap:12px;font-size:12px;display:flex}.monthly-home .badge{color:#2b6875;white-space:nowrap;background:#eaf3f4;border-radius:3px;padding:1px 8px;font-size:10px}.monthly-home .latest h3{margin:12px 0 10px;font-size:22px;font-weight:650;line-height:1.7}.monthly-home .latest p,.monthly-home .article-row p{color:var(--muted);margin:0;font-size:14px;line-height:1.95}.monthly-home .read{color:#fff;background:var(--accent);border-radius:4px;align-items:center;gap:18px;margin-top:18px;padding:9px 18px;font-size:13px;font-weight:650;display:inline-flex}.monthly-home .read:hover{background:#164f60}.monthly-home .meta-note{color:var(--muted);margin-top:10px;font-size:11px;display:block}.monthly-home .archive{margin-top:34px}.monthly-home .month-nav{flex-wrap:wrap;gap:8px;margin:15px 0 8px;display:flex}.monthly-home .month-nav a{border:1px solid var(--line);background:#fff;border-radius:4px;padding:5px 13px;font-size:12px}.monthly-home .month-nav a:hover{border-color:var(--accent);background:var(--soft)}.monthly-home .month{padding:22px 0 0}.monthly-home .month-head{align-items:center;gap:14px;margin-bottom:2px;display:flex}.monthly-home .month-head h3{letter-spacing:.03em;margin:0;font-size:18px}.monthly-home .month-head span{color:var(--muted);font-size:11px}.monthly-home .article-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:24px;padding:19px 0 21px;display:grid}.monthly-home .article-row h4{margin:0 0 7px;font-size:17px;font-weight:600;line-height:1.75}.monthly-home .article-row h4 a:hover{color:var(--accent);text-decoration:underline}.monthly-home .row-link{color:var(--accent);white-space:nowrap;align-self:center;font-size:12px}.monthly-home .attached{color:var(--muted);flex-wrap:wrap;align-items:center;gap:5px 12px;margin-top:11px;font-size:11px;display:flex}.monthly-home .attached a{color:var(--accent);border-bottom:1px solid #c5d8dc}.monthly-home .resources{border-top:1px solid var(--line);margin-top:47px;padding-top:14px}.monthly-home .resources>p{color:var(--muted);margin:0 0 17px;font-size:13px}.monthly-home .resources-list{border:1px solid var(--line);background:#fff;border-radius:5px;padding:0 22px}.monthly-home .resource{border-bottom:1px solid var(--line);scroll-margin-top:25px}.monthly-home .resource:last-child{border-bottom:0}.monthly-home .resource summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;font-size:14px;list-style:none;display:flex}.monthly-home .resource summary::-webkit-details-marker{display:none}.monthly-home .resource summary:after{content:"＋";color:var(--accent);flex:none;font-size:17px}.monthly-home .resource[open] summary:after{content:"−"}.monthly-home .resource summary>span{align-items:baseline;gap:13px;display:flex}.monthly-home .resource-number{color:#759399;flex:none;font:12px Georgia,serif}.monthly-home .resource-title{font-weight:550}.monthly-home .resource-body{color:var(--muted);padding:0 0 22px 28px;font-size:13px}.monthly-home .resource-body>p{margin:0 0 12px}.monthly-home .resource dl{grid-template-columns:96px 1fr;gap:6px 12px;margin:13px 0;display:grid}.monthly-home .resource dt{color:var(--ink)}.monthly-home .resource dd{margin:0}.monthly-home .resource ol{margin:15px 0;padding-left:19px}.monthly-home .download{color:var(--accent);border:1px solid #9bbdc5;border-radius:4px;margin-right:12px;padding:8px 14px;font-size:12px;display:inline-flex}.monthly-home .download:hover{background:var(--soft)}.monthly-home .related{color:var(--accent);margin-top:9px;font-size:12px;display:inline-block}.monthly-home .footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:24px;margin-top:55px;padding:25px 0 33px;font-size:11px;display:flex}.monthly-home .footer b{color:var(--ink);font-size:13px;font-weight:550}.monthly-home .footer p{margin:3px 0 0}.monthly-home .backtop{color:var(--accent);white-space:nowrap;font-size:12px}.monthly-home .skip{position:absolute;top:-100px}.monthly-home .skip:focus{z-index:5;background:#fff;padding:5px;top:8px;left:10px}@media (max-width:620px){.monthly-home .preview{padding:5px 10px;font-size:10px}.monthly-home .header-inner{gap:12px;padding:17px 20px}.monthly-home .brand{gap:8px;font-size:14px}.monthly-home .brand-mark{width:29px;height:29px;font-size:18px}.monthly-home .header nav{gap:13px;font-size:11px}.monthly-home .member{display:none}.monthly-home .shell{padding:0 21px}.monthly-home .intro{padding:34px 0 20px}.monthly-home h1{font-size:29px}.monthly-home .intro p:not(.eyebrow){font-size:13px}.monthly-home .quick{gap:19px;margin-top:17px;font-size:12px}.monthly-home .section-title{margin-top:23px}.monthly-home .section-title h2{font-size:17px}.monthly-home .section-title span{font-size:10px}.monthly-home .latest{padding:19px 20px 22px}.monthly-home .latest h3{font-size:19px}.monthly-home .latest p,.monthly-home .article-row p{font-size:13px}.monthly-home .month{padding-top:24px}.monthly-home .article-row{grid-template-columns:1fr;gap:7px;padding-top:16px}.monthly-home .article-row h4{font-size:16px}.monthly-home .row-link{justify-self:start}.monthly-home .resources-list{padding:0 16px}.monthly-home .resource summary{font-size:13px}.monthly-home .resource-body{padding-left:0}.monthly-home .resource dl{grid-template-columns:82px 1fr}.monthly-home .footer{display:block}.monthly-home .backtop{margin-top:16px;display:block}.monthly-home .resources{margin-top:35px}}@media (prefers-reduced-motion:reduce){html:has(.monthly-home){scroll-behavior:auto}}@media print{.monthly-home .preview,.monthly-home .header nav,.monthly-home .quick,.monthly-home .month-nav,.monthly-home .backtop{display:none}.monthly-home .shell{max-width:none}.monthly-home .read{color:#000;background:#fff;border:1px solid #aaa}.monthly-home .latest,.monthly-home .resource{break-inside:avoid}.monthly-home{background:#fff}}.monthly-home button.download{cursor:pointer;font:inherit;background:#fff;font-size:12px;line-height:1.85}.monthly-home .latest+.latest{margin-top:16px}.monthly-home .all-resources{color:var(--accent);margin-top:16px;font-size:12px;display:inline-block}.monthly-home .legacy-categories{border-top:1px solid var(--line);color:var(--muted);margin-top:28px;padding-top:16px;font-size:12px}.monthly-home .legacy-categories summary{cursor:pointer}.monthly-home .legacy-body{gap:12px;padding-top:16px;display:grid}.monthly-home .legacy-body section{padding:15px 0;scroll-margin-top:25px}.monthly-home .legacy-body h2{margin:0;font-size:16px}.monthly-home .legacy-body p{margin:5px 0}.monthly-home .legacy-body a{color:var(--accent)}.monthly-home .footer p{max-width:640px}.monthly-home .download{align-items:center}.monthly-home .resource ol li{margin:0}.monthly-home .resource ol{display:block}.monthly-home .resource ol li::marker{color:inherit}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
