.security-tool { max-width: 850px; margin-inline: auto; }
.security-tool .compress-input { display: grid; gap: 1rem; margin-top: 1.5rem; }
.security-tool label { display: grid; gap: .4rem; font-weight: 600; }
.security-tool input:not([type=checkbox]):not([type=radio]), .security-tool select, .security-tool textarea { width: 100%; padding: .75rem; border: 1px solid var(--line, #cbd5e1); border-radius: .6rem; background: var(--surface, #fff); color: inherit; font: inherit; }
.security-tool textarea { font-family: ui-monospace, monospace; }
.security-tool .check-grid { display: flex; gap: 1rem; flex-wrap: wrap; }
.security-tool .check-grid label { display: flex; align-items: center; gap: .45rem; }
.security-tool button { justify-self: start; cursor: pointer; padding: .75rem 1.2rem; }
.security-results { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 24rem; overflow: auto; padding: 1rem; border-radius: .6rem; background: var(--surface-soft, #f1f5f9); }
.markdown-preview { margin-top: 1.25rem; padding: clamp(1rem, 4vw, 3rem); background: var(--surface, #fff); color: var(--text, #172033); border: 1px solid var(--line, #cbd5e1); border-radius: .75rem; font: 1rem/1.65 Georgia, serif; }
.markdown-preview h1, .markdown-preview h2, .markdown-preview h3, .markdown-preview h4, .markdown-preview h5, .markdown-preview h6 { line-height: 1.2; margin-block: 1.4em .55em; }
.markdown-preview table { border-collapse: collapse; width: 100%; }
.markdown-preview th, .markdown-preview td { border: 1px solid var(--line, #cbd5e1); padding: .45rem .6rem; text-align: start; }
.markdown-preview pre { overflow-x: auto; padding: 1rem; background: var(--surface-soft, #f1f5f9); border-radius: .5rem; }
.markdown-preview blockquote { margin-inline: 0; padding-inline-start: 1rem; border-inline-start: 3px solid var(--line, #94a3b8); }
.markdown-page-break { break-before: page; }
.page-break-marker { margin-block: 2rem; padding-block: .5rem; border-top: 1px dashed var(--line, #94a3b8); color: var(--muted, #64748b); }
#drop-zone { padding: 1.5rem; border: 2px dashed var(--line, #94a3b8); border-radius: .75rem; text-align: center; cursor: pointer; }
#drop-zone:focus-visible { outline: 3px solid var(--accent, #2563eb); outline-offset: 3px; }
@media print { .markdown-preview { border: 0; padding: 0; } .page-break-marker { display: none; } }
