.analytics-consent[hidden], .analytics-settings[hidden] { display: none !important; }
.analytics-consent {
  position: fixed; z-index: 1000; left: 0; bottom: 0;
  width: 100%; box-sizing: border-box; display: grid;
  grid-template-columns: minmax(0, 1fr) auto; gap: 4px 24px;
  padding: 12px 24px; background: #17191c; color: #f3f4f0;
  border-top: 1px solid #42474d; font: 12px/1.7 'Noto Sans JP', sans-serif;
}
.analytics-consent h2 { font-size: 13px; font-weight: 500; margin: 0; }
.analytics-consent p { font-size: 12px; line-height: 1.7; margin: 0; color: #c4c9ce; }
.analytics-consent a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.analytics-consent-actions { display: flex; gap: 10px; grid-column: 2; grid-row: 1 / 3; align-self: center; }
.analytics-consent-actions button {
  flex: 1; min-height: 44px; min-width: 96px; padding: 8px 12px; cursor: pointer;
  font: inherit; color: #f3f4f0; background: transparent; border: 1px solid #777f87;
}
.analytics-consent-actions button:hover { background: #30353a; }
.analytics-settings { border: 0; padding: 0; color: inherit; background: none; font: inherit; cursor: pointer; }
.analytics-consent button:focus-visible, .analytics-settings:focus-visible { outline: 2px solid #bdcedd; outline-offset: 4px; }
body:has(.analytics-consent:not([hidden])) { padding-bottom: 100px; }
@media (max-width: 680px) {
  .analytics-consent { padding: 10px 16px; gap: 4px; grid-template-columns: minmax(0, 1fr); }
  .analytics-consent-actions { grid-column: 1; grid-row: auto; gap: 12px; margin-top: 4px; }
  body:has(.analytics-consent:not([hidden])) { padding-bottom: 150px; }
}
