/* Optional analytics controls share AXICUT's white, navy and cyan identity. */
html { scroll-padding-bottom: calc(var(--analytics-notice-height, 0px) + 16px); }
body { padding-bottom: var(--analytics-notice-height, 0px); }
.analytics-notice {
  position: fixed;
  z-index: 120;
  inset: auto 0 0;
  display: grid;
  grid-template-columns: minmax(0, 760px) minmax(260px, 320px);
  justify-content: space-between;
  align-items: center;
  gap: 16px 48px;
  box-sizing: border-box;
  max-height: 100svh;
  overflow-y: auto;
  padding: 20px max(24px, calc((100vw - 1320px) / 2)) max(16px, env(safe-area-inset-bottom));
  border-top: 1px solid #d8dde3;
  background: #fff;
  color: #071c38;
  box-shadow: 0 -4px 20px #071c3808;
  font: 400 14px/1.7 Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  text-align: left;
  letter-spacing: 0;
  overflow-wrap: anywhere;
}
.analytics-notice[hidden], [data-analytics-settings][hidden] { display: none !important; }
.analytics-notice-title { margin: 0 0 5px; font-size: 16px; font-weight: 600; line-height: 1.5; }
.analytics-notice-copy { margin: 0; }
.analytics-notice a { color: #075b79; text-underline-offset: 4px; }
.analytics-notice-content > a { display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; }
.analytics-notice-reload { margin: 12px 0 0; font-size: 13px; line-height: 1.65; }
.analytics-notice-actions, .analytics-actions { display: flex; gap: 12px; }
.analytics-actions { margin-top: 18px; }
.analytics-notice-actions button, .analytics-actions button {
  flex: 1; min-width: 0; min-height: 48px; padding: 10px 12px;
  border: 1px solid #899aaa; border-radius: 4px;
  background: #fff; color: #071c38; font: inherit; font-size: 15px; font-weight: 500;
  line-height: 1.5; text-align: center; cursor: pointer;
}
.analytics-notice-actions button:hover, .analytics-actions button:hover { background: #edf6f9; border-color: #075b79; }
.analytics-notice :focus-visible, .analytics-inline :focus-visible, .analytics-settings:focus-visible {
  outline: 3px solid #0096bf; outline-offset: 4px;
}
.analytics-settings { padding: 10px 0; min-height: 44px; background: none; border: 0; color: inherit; font: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: 5px; }
.analytics-inline { margin-top: 24px; padding: 22px; border: 1px solid #cbd6e2; border-radius: 10px; background: #f5f9fb; color: #071c38; }
.analytics-inline [data-analytics-status] { margin: 0; }
.analytics-facts { margin: 24px 0; }
.analytics-facts > div { padding: 18px 0; border-top: 1px solid #d8e0e8; }
.analytics-facts dt { margin-bottom: 6px; font-weight: 600; color: #071c38; }
.analytics-facts dd { margin: 0; }
.analytics-notice-close { grid-column: 2; justify-self: end; margin: -8px 0 0; min-height: 44px; padding: 8px 0 8px 16px; background: none; color: #075b79; border: 0; font: inherit; font-size: 13px; cursor: pointer; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 760px) {
  .analytics-notice { grid-template-columns: minmax(0, 1fr); gap: 4px; padding: 16px 20px max(16px, env(safe-area-inset-bottom)); }
  .analytics-notice-actions { gap: 12px; }
  .analytics-notice-close { grid-column: 1; margin: 0; }
  .analytics-inline { padding: 16px; }
}
@media (max-width: 360px) {
  .analytics-notice { padding-inline: 16px; }
}
