.cross-app-ads{--ca-ink:#17242b;--ca-muted:#53636b;--ca-bg:#f7fafb;--ca-line:#c7d6dc;--ca-accent:#146a78;box-sizing:border-box;width:100%;clear:both;margin:32px 0;border-block:1px solid var(--ca-line);color:var(--ca-ink);background:var(--ca-bg);font-family:system-ui,-apple-system,"Noto Sans JP",sans-serif;line-height:1.6;isolation:isolate}.cross-app-ads[data-host="sound-compass"]{--ca-ink:#f3f6f6;--ca-muted:#bac8cc;--ca-bg:#101719;--ca-line:#526166;--ca-accent:#6dd7e6;color:var(--ca-ink);background:var(--ca-bg)}.cross-app-ads *{box-sizing:border-box}.cross-app-inner{max-width:1140px;margin:auto;padding:28px 24px}.cross-app-kicker{margin:0 0 4px;color:var(--ca-muted);font-size:13px}.cross-app-title{margin:0 0 18px;font-size:clamp(20px,2.4vw,28px)}.cross-app-general-frame{min-height:250px;display:grid;place-items:center;border:1px solid var(--ca-line);background:#fff}.cross-app-ad-pending,.cross-app-privacy{max-width:760px;margin:0;padding:18px;color:var(--ca-muted);font-size:13px}.cross-app-privacy{padding:12px 0 0}.cross-app-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cross-app-cards.is-single{display:block}.cross-app-card{min-width:0;padding:12px;border:1px solid var(--ca-line);background:#fff}.cross-app-cards.is-single .cross-app-card{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:clamp(22px,4vw,52px);align-items:center;padding:clamp(18px,3vw,32px);color:var(--ca-ink);background:#172126}.cross-app-visual-link{display:block}.cross-app-creative{display:block;width:100%;height:auto}.cross-app-cards.is-single .cross-app-creative{border:1px solid #d7e2e5;background:#fff}.cross-app-card-copy{min-width:0}.cross-app-name{margin:0 0 5px;color:var(--ca-accent);font-size:clamp(18px,2vw,24px);font-weight:800;letter-spacing:.02em}.cross-app-card-title{max-width:20ch;margin:0;color:inherit;font-size:clamp(24px,3.4vw,42px);line-height:1.18;text-wrap:balance}.cross-app-card-sub{max-width:42ch;margin:12px 0 0;color:var(--ca-muted);font-size:clamp(15px,1.5vw,18px)}.cross-app-link{display:flex;width:fit-content;min-height:44px;align-items:center;margin-top:18px;padding:8px 16px;border:1px solid var(--ca-accent);border-radius:4px;color:#0b1417;background:var(--ca-accent);font-weight:800;text-decoration:none}.cross-app-link:hover{background:#8ce6f1}.cross-app-link:focus-visible{outline:3px solid #f3f6f6;outline-offset:3px}.cross-app-status{display:block;margin-top:8px;color:var(--ca-muted);font-size:13px}.cross-app-choices{display:none;margin-bottom:12px}.cross-app-choices button{min-height:44px;margin:4px;padding:8px 14px;border:1px solid var(--ca-line);border-radius:4px;color:var(--ca-ink);background:transparent;font:inherit}.cross-app-choices button[aria-pressed="true"]{color:#fff;background:var(--ca-accent)}@media(max-width:680px){.cross-app-inner{padding:20px 14px}.cross-app-cards:not(.is-single){display:block}.cross-app-cards:not(.is-single) .cross-app-card{display:none}.cross-app-cards:not(.is-single) .cross-app-card.is-selected{display:block}.cross-app-cards.is-single .cross-app-card{grid-template-columns:1fr;gap:18px;padding:18px}.cross-app-cards.is-single .cross-app-visual-link{width:min(100%,300px)}.cross-app-card-title{font-size:clamp(24px,8vw,34px)}.cross-app-link{width:100%;justify-content:center}.cross-app-choices{display:flex;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.cross-app-ads *{scroll-behavior:auto!important;transition:none!important}}@media print{.cross-app-ads{display:none!important}}

/* Optional reciprocal-exchange placement; kept separate from house and AdSense units. */
.exchange-ads {
  --ad-ink: #151515;
  --ad-paper: #f4ecd3;
  --ad-muted: #625f56;
  box-sizing: border-box;
  width: min(1180px, calc(100% - 48px));
  clear: both;
  margin: clamp(42px, 7vw, 84px) auto;
  color: var(--ad-ink);
  background: transparent;
  font-family: inherit;
  line-height: 1.5;
  isolation: isolate;
}

.exchange-ads *,
.exchange-ads *::before,
.exchange-ads *::after {
  box-sizing: border-box;
}

.exchange-inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(180px, 300px) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
  padding: clamp(22px, 3vw, 36px);
  border: 1px solid var(--ad-ink);
  background: var(--ad-paper);
}

.exchange-label {
  position: absolute;
  top: 0;
  left: clamp(22px, 3vw, 36px);
  padding: 5px 10px;
  color: var(--ad-paper);
  background: var(--ad-ink);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  line-height: 1;
}

.exchange-close {
  position: absolute;
  z-index: 2;
  top: 8px;
  right: 8px;
  width: 44px;
  height: 44px;
  border: 0;
  color: var(--ad-ink);
  background: transparent;
  font: 400 28px/1 inherit;
  cursor: pointer;
  touch-action: manipulation;
}

.exchange-link {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(180px, 300px) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
  color: inherit;
  text-decoration: none;
}

.exchange-link--text-only {
  grid-template-columns: minmax(0, 1fr);
}

.exchange-link--text-only .exchange-copy {
  max-width: 760px;
}

.exchange-image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 1;
  object-fit: cover;
  border: 1px solid var(--ad-ink);
  background: #fff;
}

.exchange-copy {
  min-width: 0;
  display: grid;
  gap: 7px;
  padding-right: 40px;
}

.exchange-copy small {
  color: var(--ad-muted);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.exchange-copy strong {
  max-width: 22ch;
  font-size: clamp(22px, 3vw, 38px);
  line-height: 1.08;
  text-wrap: balance;
}

.exchange-copy span {
  max-width: 56ch;
  color: var(--ad-muted);
}

.exchange-copy b {
  width: fit-content;
  margin-top: 5px;
  border-bottom: 1px solid currentColor;
  font-size: 14px;
}

.exchange-link:hover .exchange-copy b {
  border-bottom-width: 3px;
}

.exchange-link:focus-visible .exchange-image {
  outline: 3px solid #1473e6;
  outline-offset: 4px;
}

.exchange-actions {
  grid-column: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-top: -12px;
}

.exchange-actions button {
  min-height: 44px;
  padding: 8px 0;
  border: 0;
  border-bottom: 1px solid transparent;
  color: var(--ad-muted);
  background: transparent;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
  touch-action: manipulation;
}

.exchange-actions button:hover {
  color: var(--ad-ink);
  border-bottom-color: currentColor;
}

.exchange-close:focus-visible,
.exchange-actions button:focus-visible {
  outline: 3px solid #1473e6;
  outline-offset: 3px;
}

.exchange-reason {
  grid-column: 2;
  max-width: 60ch;
  color: var(--ad-muted);
  font-size: 12px;
}

.exchange-live-region {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 680px) {
  .exchange-ads {
    width: min(100% - 28px, 520px);
    margin-block: 44px;
  }

  .exchange-inner {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 28px 18px 20px;
  }

  .exchange-copy {
    padding-right: 28px;
  }

  .exchange-link {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .exchange-actions,
  .exchange-reason {
    grid-column: 1;
    margin-top: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .exchange-ads * {
    scroll-behavior: auto !important;
  }
}

@media print {
  .exchange-ads {
    display: none !important;
  }
}

/* The reciprocal placement is part of the first language-choice view. */
.language-welcome__ad {
  min-width: 0;
  min-height: 126px;
}

.exchange-ads--welcome {
  width: 100%;
  margin: 8px 0 0;
}

.exchange-ads--welcome .exchange-inner,
.exchange-ads--welcome .exchange-link {
  grid-template-columns: minmax(96px, 132px) minmax(0, 1fr);
  gap: 14px;
}

.exchange-ads--welcome .exchange-link--text-only {
  grid-template-columns: minmax(0, 1fr);
}

.exchange-ads--welcome .exchange-inner {
  padding: 24px 14px 10px;
}

.exchange-ads--welcome .exchange-copy {
  gap: 3px;
  padding-right: 28px;
}

.exchange-ads--welcome .exchange-copy small {
  font-size: 10px;
}

.exchange-ads--welcome .exchange-copy strong {
  font-size: clamp(17px, 2.1vw, 23px);
}

.exchange-ads--welcome .exchange-copy span {
  display: none;
  overflow: hidden;
  font-size: 12px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.exchange-ads--welcome .exchange-copy b {
  font-size: 12px;
}

.exchange-ads--welcome .exchange-actions,
.exchange-ads--welcome .exchange-reason {
  grid-column: 2;
}

.exchange-ads--welcome .exchange-actions {
  justify-content: flex-end;
  margin-top: -8px;
}

.exchange-ads--welcome .exchange-actions button {
  min-height: 36px;
  padding-block: 4px;
  font-size: 10px;
}

@media (max-width: 680px) {
  .exchange-ads--welcome {
    width: 100%;
    margin-block: 4px 0;
  }

  .exchange-ads--welcome .exchange-inner {
    grid-template-columns: 1fr;
    gap: 7px;
    padding: 22px 10px 8px;
  }

  .exchange-ads--welcome .exchange-link {
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 10px;
  }

  .exchange-ads--welcome .exchange-link--text-only {
    grid-template-columns: minmax(0, 1fr);
  }

  .exchange-ads--welcome .exchange-image {
    width: 88px;
  }

  .exchange-ads--welcome .exchange-copy {
    gap: 2px;
    padding-right: 22px;
  }

  .exchange-ads--welcome .exchange-copy strong {
    display: -webkit-box;
    overflow: hidden;
    font-size: 15px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .exchange-ads--welcome .exchange-copy span {
    display: none;
  }

  .exchange-ads--welcome .exchange-copy b {
    font-size: 11px;
  }

  .exchange-ads--welcome .exchange-actions,
  .exchange-ads--welcome .exchange-reason {
    grid-column: 1;
  }

  .exchange-ads--welcome .exchange-actions {
    margin-top: 0;
  }
}
