@charset "utf-8";

/* Standalone review and embedded conversation; no shared UI. */
html.site-theme--ledger.auxiliary-page--ledger {
  --site-body-size: 18px;
  --site-body-size-small: 16px;
  --site-body-leading: 1.95;
  --auxiliary-gutter: clamp(28px, 5vw, 56px);
}

html.site-theme--ledger.auxiliary-page--ledger::before,
html.site-theme--ledger.auxiliary-page--ledger::after {
  display: none;
}

html.site-theme--ledger.auxiliary-page--review {
  --c-white: var(--site-sheet);
  --c-gray-50: var(--site-tint);
  --c-gray-100: var(--site-ground);
  --c-gray-400: var(--site-muted);
  --c-gray-500: var(--site-muted);
  --c-gray-600: var(--site-muted);
  --c-gray-800: var(--site-ink-soft);
  --c-gray-900: var(--site-ink);
  --c-blue-500: var(--site-accent);
  --c-blue-600: var(--site-accent);
  --c-green-500: var(--site-green);
  --c-red-500: var(--site-pen);
}

html.site-theme--ledger.auxiliary-page--review .review-container {
  width: min(972px, calc(100% - 2 * var(--site-gutter)));
  margin: 32px auto 0;
  padding: 0 0 48px;
}
html.site-theme--ledger.auxiliary-page--review :is(.review-breadcrumb, .review-card, .review-footer) {
  max-width: none;
}
html.site-theme--ledger.auxiliary-page--review .review-breadcrumb {
  margin-bottom: 20px;
  font-size: 14px;
}
html.site-theme--ledger.auxiliary-page--review .review-card {
  border: 1px solid var(--site-line);
  border-top: 3px solid var(--site-keyline);
  border-radius: 0;
  background: var(--site-sheet);
  box-shadow: none;
  overflow: visible;
}
html.site-theme--ledger.auxiliary-page--review .review-card__body {
  max-width: calc(792px + 2 * var(--auxiliary-gutter));
  margin-inline: auto;
  padding: 48px var(--auxiliary-gutter);
}
html.site-theme--ledger.auxiliary-page--review .review-card__title {
  margin-bottom: 32px;
  color: var(--site-heading);
  font: 800 clamp(30px, 4vw, 48px)/1.45 var(--site-serif);
  letter-spacing: .015em;
}
html.site-theme--ledger.auxiliary-page--review .review-content {
  color: var(--site-ink);
  line-height: var(--site-body-leading);
  gap: 40px;
}
html.site-theme--ledger.auxiliary-page--review :is(.review-user__info, .review-user__info > div, .review-list__item > div) {
  min-width: 0;
}
html.site-theme--ledger.auxiliary-page--review .review-user {
  gap: 12px 24px;
  flex-wrap: wrap;
}
html.site-theme--ledger.auxiliary-page--review .review-user__name {
  font-size: 18px;
}
html.site-theme--ledger.auxiliary-page--review :is(.review-user__detail, .review-user__date) {
  color: var(--site-muted);
  font-size: 14px;
  line-height: 1.8;
}
html.site-theme--ledger.auxiliary-page--review :is(.review-user__date, .review-rating__score) {
  font-family: var(--site-mono), var(--site-sans);
}
html.site-theme--ledger.auxiliary-page--review .review-section__title {
  color: var(--site-heading);
  padding-top: 24px;
  border-top: 2px solid var(--site-keyline);
  font: 800 26px/1.6 var(--site-serif);
}
html.site-theme--ledger.auxiliary-page--review .review-rating {
  gap: 16px;
  flex-wrap: wrap;
}
html.site-theme--ledger.auxiliary-page--review .review-rating__score {
  font-size: 28px;
}
html.site-theme--ledger.auxiliary-page--review .star-filled { color: var(--site-brown); }
html.site-theme--ledger.auxiliary-page--review .star-empty { color: var(--site-muted); }
html.site-theme--ledger.auxiliary-page--review .user-icon {
  color: var(--site-muted);
  flex-shrink: 0;
}
html.site-theme--ledger.auxiliary-page--review .review-heading {
  color: var(--site-heading);
  margin-bottom: 20px;
  padding-left: 16px;
  font: 700 clamp(21px, 2.4vw, 26px)/1.6 var(--site-serif);
}
html.site-theme--ledger.auxiliary-page--review .review-detailed-list {
  gap: 28px;
}
html.site-theme--ledger.auxiliary-page--review .review-detailed-list h4 {
  color: var(--site-heading);
  font-size: 1em;
  line-height: 1.85;
}
html.site-theme--ledger.auxiliary-page--review .review-list__check { flex-shrink: 0; }
html.site-theme--ledger.auxiliary-page--review .review-summary-box {
  padding: 24px;
  border: 1px solid var(--site-line);
  border-left: 3px solid var(--site-accent);
  border-radius: 0;
  background: var(--site-tint);
}
html.site-theme--ledger.auxiliary-page--review .my-divider {
  border-color: var(--site-line);
}
html.site-theme--ledger.auxiliary-page--review .review-footer {
  margin-top: 40px;
  padding: 24px 20px 0;
  border-top: 2px solid var(--site-keyline);
}
html.site-theme--ledger.auxiliary-page--review .review-footer__list {
  font-size: 15px;
  row-gap: 12px;
}
html.site-theme--ledger.auxiliary-page--review :is(.review-footer__link, .breadcrumb__link) {
  color: var(--site-accent);
  text-decoration: underline;
  text-underline-offset: .2em;
}
html.site-theme--ledger.auxiliary-page--review .review-footer__copyright {
  margin-top: 24px;
  color: var(--site-muted);
  font-size: 13px;
}

/* LINEを思わせる配色を会話iframe内へ限定。レポート共通色から独立させる。 */
html.site-theme--ledger.auxiliary-page--chat[data-palette="report"] {
  color-scheme: light;
}
html.site-theme--ledger.auxiliary-page--chat {
  --chat-ground: #7494C0;
  --chat-received: #FFFFFF;
  --chat-sent: #8DE055;
  --chat-ink: #111111;
  --chat-meta: #1A2A3E;
  --chat-line: rgba(0, 0, 0, .18);
  --chat-scrollbar: #3F5A7E;
  --chat-selection: #D4E8FF;
  --site-body-size: 16px;
  --site-body-size-small: 16px;
  scrollbar-width: thin;
  scrollbar-color: var(--chat-scrollbar) var(--chat-ground);
}
html.site-theme--ledger.auxiliary-page--chat body.site-theme {
  color: var(--chat-ink);
  align-items: flex-start;
  min-height: 100vh;
  background: var(--chat-ground);
}
html.site-theme--ledger.auxiliary-page--chat::-webkit-scrollbar {
  width: 8px;
  background: var(--chat-ground);
}
html.site-theme--ledger.auxiliary-page--chat::-webkit-scrollbar-track {
  background: var(--chat-ground);
}
html.site-theme--ledger.auxiliary-page--chat::-webkit-scrollbar-thumb {
  border-radius: 0;
  background: var(--chat-scrollbar);
}
html.site-theme--ledger.auxiliary-page--chat .chat-screen {
  width: 100%;
  max-width: 480px;
  min-height: 100vh;
  padding: 24px 12px 40px;
  overflow: visible;
  background: var(--chat-ground);
  gap: 12px;
}
html.site-theme--ledger.auxiliary-page--chat .message-row {
  min-width: 0;
  margin-bottom: 12px;
}
html.site-theme--ledger.auxiliary-page--chat :is(.other-content, .me-content, .bubble) {
  min-width: 0;
}
html.site-theme--ledger.auxiliary-page--chat .message-row.other::before {
  border: 1px solid var(--chat-line);
  background-color: var(--chat-received);
}
html.site-theme--ledger.auxiliary-page--chat .bubble {
  padding: 12px 14px;
  border: 1px solid var(--chat-line);
  border-radius: 0;
  color: var(--chat-ink);
  font-size: 16px;
  line-height: 1.85;
  overflow-wrap: anywhere;
  box-shadow: none;
}
html.site-theme--ledger.auxiliary-page--chat .message-row.other .bubble {
  background: var(--chat-received);
  color: var(--chat-ink);
}
/* 本体と同じ塗り・罫線の図形を重ね、接合部の縦線を隠す。 */
html.site-theme--ledger.auxiliary-page--chat .bubble::before {
  content: "";
  position: absolute;
  top: -1px;
  width: 8px;
  height: 8px;
  border: 0 solid;
  border-top-width: 1px;
  border-color: inherit;
  background: inherit;
  pointer-events: none;
}
html.site-theme--ledger.auxiliary-page--chat .message-row.other .bubble::before {
  left: -9px;
  right: auto;
  border-left-width: 1px;
  transform: skewX(45deg);
  transform-origin: top left;
}
html.site-theme--ledger.auxiliary-page--chat .message-row.me .bubble {
  background: var(--chat-sent);
  color: var(--chat-ink);
  border-color: var(--chat-line);
}
html.site-theme--ledger.auxiliary-page--chat .message-row.me .bubble::before {
  left: auto;
  right: -9px;
  border-right-width: 1px;
  transform: skewX(-45deg);
  transform-origin: top right;
}
html.site-theme--ledger.auxiliary-page--chat .name {
  color: var(--chat-meta);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.7;
  opacity: 1;
}
html.site-theme--ledger.auxiliary-page--chat :is(.time, .read-receipt) {
  color: var(--chat-meta);
  font: 400 12px/1.65 var(--site-mono), var(--site-sans);
  text-shadow: none;
  white-space: nowrap;
}
html.site-theme--ledger.auxiliary-page--chat .meta-info {
  min-width: 0;
}
html.site-theme--ledger.auxiliary-page--chat .time-container { flex-shrink: 0; }

html.site-theme--ledger.auxiliary-page--chat ::selection {
  color: var(--chat-ink);
  background: var(--chat-selection);
}

@media (max-width: 820px) {
  html.site-theme--ledger.auxiliary-page--review { --auxiliary-gutter: 20px; }
  html.site-theme--ledger.auxiliary-page--review .review-container { width: 100%; margin-top: 0; }
  html.site-theme--ledger.auxiliary-page--review .review-breadcrumb { padding: 16px 20px 0; }
  html.site-theme--ledger.auxiliary-page--review .review-card { border-inline: 0; }
  html.site-theme--ledger.auxiliary-page--review .review-card__body { padding-block: 32px; }
  html.site-theme--ledger.auxiliary-page--review .review-summary-box { padding: 20px; }
}
@media (max-width: 360px) {
  html.site-theme--ledger.auxiliary-page--chat .message-row.other::before {
    width: 32px;
    height: 32px;
    margin-right: 8px;
  }
  html.site-theme--ledger.auxiliary-page--chat .bubble { padding-inline: 10px; }
}

@media print {
  html.site-theme--ledger.auxiliary-page--ledger { --site-body-size: 11pt; --site-body-size-small: 11pt; }
  html.site-theme--ledger.auxiliary-page--ledger body.site-theme { background: white; }
  html.site-theme--ledger.auxiliary-page--review :is(.review-container, .review-card, .review-card__body) {
    width: 100%; max-width: none; margin: 0; padding: 0; border: 0; background: white;
  }
  html.site-theme--ledger.auxiliary-page--review .review-card__title { font-size: 24pt; }
  html.site-theme--ledger.auxiliary-page--review :is(h1, h2, h3, h4) { break-after: avoid; }
  html.site-theme--ledger.auxiliary-page--review .review-summary-box { background: white; }
  html.site-theme--ledger.auxiliary-page--chat {
    --chat-ground: #FFFFFF;
    --chat-received: #FFFFFF;
    --chat-sent: #F1F4EE;
    --chat-ink: #111111;
    --chat-meta: #39434D;
    --chat-line: #9AA2AA;
  }
  html.site-theme--ledger.auxiliary-page--chat body.site-theme { display: block; min-height: 0; }
  html.site-theme--ledger.auxiliary-page--chat .chat-screen {
    max-width: none; min-height: 0; padding: 0; overflow: visible; background: white;
  }
  html.site-theme--ledger.auxiliary-page--chat .message-row { break-inside: avoid; }
  html.site-theme--ledger.auxiliary-page--chat .bubble { font-size: 11pt; }
  html.site-theme--ledger.auxiliary-page--chat .bubble::before { display: none; }
}
