.dnai-risk-modal[hidden] { display: none !important; }
.dnai-risk-modal { position: fixed; inset: 0; z-index: 2147483000; display: grid; place-items: center; padding: max(20px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); opacity: 0; transition: opacity 180ms ease; }
.dnai-risk-modal.is-open { opacity: 1; }
.dnai-risk-modal__overlay { position: absolute; inset: 0; background: rgba(2, 8, 23, .72); backdrop-filter: blur(4px); }
.dnai-risk-modal__dialog { position: relative; width: min(620px, 92vw); max-height: min(820px, calc(100dvh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom))); display: flex; flex-direction: column; overflow: hidden; color: #e5edf8; background: linear-gradient(145deg, #10243b, #071524); border: 1px solid rgba(245, 196, 73, .35); border-radius: 18px; box-shadow: 0 28px 80px rgba(0, 0, 0, .48); outline: none; transform: translateY(8px) scale(.985); transition: transform 180ms ease; }
.dnai-risk-modal.is-open .dnai-risk-modal__dialog { transform: none; }
.dnai-risk-modal__scroll { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 30px 32px 20px; scrollbar-width: thin; }
.dnai-risk-modal__eyebrow { margin: 0 0 8px; color: #f4c95d; font-size: 12px; font-weight: 800; letter-spacing: .14em; }
.dnai-risk-modal h2 { margin: 0 36px 16px 0; color: #fff; font-size: clamp(22px, 3vw, 28px); line-height: 1.25; text-transform: uppercase; }
.dnai-risk-modal p { margin: 0 0 15px; color: #cbd8e8; font-size: 15px; line-height: 1.65; }
.dnai-risk-modal__close { position: absolute; z-index: 2; top: 14px; right: 16px; width: 40px; height: 40px; border: 0; border-radius: 50%; color: #dbe7f5; background: rgba(255,255,255,.08); font-size: 26px; line-height: 1; cursor: pointer; }
.dnai-risk-modal__close:hover, .dnai-risk-modal__close:focus-visible { background: rgba(255,255,255,.15); outline: 2px solid #f4c95d; outline-offset: 2px; }
.dnai-risk-modal__highlight { margin: 18px 0; padding: 15px 17px; border: 1px solid rgba(245,196,73,.45); border-left: 4px solid #f4c95d; border-radius: 12px; color: #f9e7ac; background: rgba(245,196,73,.09); font-size: 15px; line-height: 1.6; }
.dnai-risk-modal__checks { display: grid; gap: 12px; margin: 0 0 18px; padding: 0; list-style: none; }
.dnai-risk-modal__checks li { position: relative; padding-left: 27px; color: #d7e3f1; line-height: 1.5; }
.dnai-risk-modal__checks li::before { content: "✓"; position: absolute; left: 0; color: #f4c95d; font-weight: 900; }
.dnai-risk-modal__checks strong, .dnai-risk-modal__checks span { display: block; }
.dnai-risk-modal__checks span { color: #9fb1c7; font-size: 14px; }
.dnai-risk-modal__final { margin-bottom: 0 !important; color: #fff !important; font-weight: 650; }
.dnai-risk-modal__actions { flex: 0 0 auto; display: flex; align-items: center; gap: 18px; padding: 18px 32px max(20px, env(safe-area-inset-bottom)); border-top: 1px solid rgba(148,163,184,.16); background: rgba(4,14,26,.92); }
.dnai-risk-modal__confirm { min-height: 48px; padding: 0 24px; border: 1px solid #e7b83f; border-radius: 11px; color: #102033; background: #f4c95d; font: inherit; font-weight: 850; text-transform: uppercase; cursor: pointer; }
.dnai-risk-modal__confirm:hover, .dnai-risk-modal__confirm:focus-visible { background: #ffe08a; outline: 2px solid #fff; outline-offset: 2px; }
.dnai-risk-modal__actions a { color: #d9e7f7; font-size: 14px; font-weight: 650; text-decoration: underline; text-underline-offset: 3px; }
.dnai-risk-modal-open { overflow: hidden; scrollbar-gutter: stable; }
@media (max-width: 600px) {
  .dnai-risk-modal { place-items: end center; padding-top: max(12px, env(safe-area-inset-top)); padding-bottom: max(12px, env(safe-area-inset-bottom)); }
  .dnai-risk-modal__dialog { width: 94vw; max-height: calc(100dvh - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); border-radius: 16px; }
  .dnai-risk-modal__scroll { padding: 25px 20px 16px; }
  .dnai-risk-modal h2 { font-size: 20px; }
  .dnai-risk-modal__actions { flex-direction: column; align-items: stretch; gap: 12px; padding: 14px 20px max(16px, env(safe-area-inset-bottom)); text-align: center; }
  .dnai-risk-modal__confirm { width: 100%; min-height: 50px; }
}
@media (prefers-reduced-motion: reduce) { .dnai-risk-modal, .dnai-risk-modal__dialog { transition: none; } }
