.fc3d-notice {
  --notice-surface: #10181b;
  --notice-text: #f3f6f6;
  --notice-muted: #b2bec2;
  --notice-accent: #37d5d6;
  box-sizing: border-box;
  width: min(560px, calc(100% - 32px));
  max-width: none;
  max-height: calc(100vh - 32px);
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 36px;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid #3b5056;
  border-top: 3px solid var(--notice-accent);
  border-radius: 12px;
  background: var(--notice-surface);
  color: var(--notice-text);
  box-shadow: 0 24px 96px #0009;
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  text-align: left;
  color-scheme: dark;
}

.fc3d-notice:not([open]) { display: none; }
.fc3d-notice::backdrop { background: rgb(2 7 10 / 76%); }
.fc3d-notice *, .fc3d-notice *::before, .fc3d-notice *::after { box-sizing: border-box; }
.fc3d-notice__eyebrow { margin: 0 0 16px; color: var(--notice-accent); font-size: 11px; font-weight: 700; letter-spacing: .14em; line-height: 1.5; }
.fc3d-notice__title { margin: 0 0 20px; color: var(--notice-text); font: 700 clamp(26px, 5vw, 34px)/1.15 Inter, Arial, sans-serif; letter-spacing: -.025em; overflow-wrap: anywhere; }
.fc3d-notice__body { margin: 0 0 24px; color: var(--notice-muted); white-space: pre-wrap; overflow-wrap: anywhere; }
.fc3d-notice__remember { display: flex; align-items: center; gap: 12px; min-height: 48px; margin: 0 0 16px; cursor: pointer; font-size: 14px; }
.fc3d-notice__remember input { flex: 0 0 20px; width: 20px; height: 20px; margin: 0; accent-color: var(--notice-accent); cursor: pointer; }
.fc3d-notice__confirm { display: block; width: 100%; min-height: 48px; margin: 0; padding: 12px 20px; border: 1px solid transparent; border-radius: 4px; background: var(--notice-accent); color: #051215; font: 700 15px/1.5 Inter, Arial, sans-serif; text-transform: none; letter-spacing: .02em; overflow-wrap: anywhere; cursor: pointer; touch-action: manipulation; transition: background-color 160ms ease; }
.fc3d-notice__confirm:hover { background: #73e5e5; }
.fc3d-notice__confirm:active { background: #28bcbe; }
/* The heading receives reading focus, not a keyboard-action focus ring. */
.fc3d-notice__title:focus { outline: none; }
.fc3d-notice button:focus-visible, .fc3d-notice input:focus-visible { outline: 2px solid var(--notice-accent); outline-offset: 5px; }
.fc3d-notice__hint { margin: 16px 0 0; color: var(--notice-muted); font-size: 12px; line-height: 1.5; }

@media (max-width: 600px), (max-height: 500px) {
  .fc3d-notice { padding: 24px; }
  .fc3d-notice__title { margin-bottom: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .fc3d-notice__confirm { transition: none; }
}
