.ipdownload-list { }
.ipdownload-list li { margin-bottom: 1rem; }
.ipdownload-list p { margin: .3rem 0; }
.ipdownload-page { margin: 0; color: #202b36; background: #f5f7fa; font: 1rem/1.55 system-ui, sans-serif; }
.ipdownload-form-wrapper { box-sizing: border-box; max-width: 42rem; margin: 1rem auto; padding: 1.5rem; background: white; border-radius: .6rem; }
.ipdownload-form-wrapper h1 { font-size: 1.6rem; overflow-wrap: anywhere; }
.ipdownload-field { margin-block: 1rem; }
.ipdownload-field label { display: block; font-weight: 600; margin-bottom: .25rem; }
.ipdownload-field input { box-sizing: border-box; width: 100%; font: inherit; padding: .6rem; border: 1px solid #687b8d; border-radius: .25rem; }
.ipdownload-check { display: block; margin-block: 1rem; }
.ipdownload-form button, .ipdownload-dialog > button { cursor: pointer; padding: .7rem 1.1rem; font: inherit; color: white; background: #174c70; border: 0; border-radius: .25rem; }
.ipdownload-form :focus-visible, .ipdownload-dialog :focus-visible { outline: 3px solid #bc5c00; outline-offset: 3px; }
.ipdownload-errors { padding: 1rem; color: #8b1515; background: #fff0f0; border: 1px solid currentColor; }
.ipdownload-notice { white-space: pre-line; }
.ipdownload-trap { display: none; }
.ipdownload-dialog { width: min(46rem, 92vw); max-height: 92vh; border: 0; border-radius: .7rem; padding: 1rem; }
.ipdownload-dialog::backdrop { background: #10203099; }
.ipdownload-dialog iframe { display: block; width: 100%; height: 72vh; border: 0; margin-top: .8rem; }
