.bdc-widget {
	--bdc-ink: #10192b;
	--bdc-ink-soft: #4a5568;
	--bdc-line: #d8dee6;
	--bdc-bg: #f6f7f9;
	--bdc-panel: #ffffff;
	--bdc-pass: #17804f;
	--bdc-pass-bg: #e6f4ec;
	--bdc-warn: #a35b00;
	--bdc-warn-bg: #fbf0dc;
	--bdc-fail: #b0301f;
	--bdc-fail-bg: #fbe8e4;
	--bdc-neutral: #5a6473;
	--bdc-accent: #1b4d8f;
	--bdc-mono: ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace;
	--bdc-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	max-width: 640px;
	margin: 0 auto;
	font-family: var(--bdc-sans);
	color: var(--bdc-ink);
	box-sizing: border-box;
}
.bdc-widget *, .bdc-widget *::before, .bdc-widget *::after { box-sizing: inherit; }

.bdc-card { background: var(--bdc-panel); border: 1px solid var(--bdc-line); border-radius: 10px; padding: 28px; }
.bdc-eyebrow { font-family: var(--bdc-mono); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--bdc-ink-soft); margin: 0 0 6px; }
.bdc-title { font-size: 20px; font-weight: 700; margin: 0 0 16px; line-height: 1.3; }

.bdc-form-row { display: flex; gap: 8px; flex-wrap: wrap; }
.bdc-input { flex: 1 1 220px; font-family: var(--bdc-mono); font-size: 15px; padding: 11px 13px; border: 1px solid var(--bdc-line); border-radius: 6px; background: var(--bdc-bg); color: var(--bdc-ink); }
.bdc-input:focus { outline: 2px solid var(--bdc-accent); outline-offset: 1px; background: var(--bdc-panel); }

.bdc-btn { font-family: var(--bdc-sans); font-size: 15px; font-weight: 600; padding: 11px 20px; border-radius: 6px; border: none; background: var(--bdc-accent); color: #fff; cursor: pointer; }
.bdc-btn:hover { background: #163f74; }
.bdc-btn:disabled { opacity: 0.6; cursor: default; }
.bdc-btn-secondary { background: transparent; color: var(--bdc-accent); border: 1px solid var(--bdc-accent); }
.bdc-btn-secondary:hover { background: #eef3fa; }

.bdc-error { color: var(--bdc-fail); font-size: 13px; margin-top: 10px; }

.bdc-readout {
	display: flex; align-items: center; gap: 20px;
	background: var(--bdc-ink); border-radius: 8px; padding: 20px 22px; margin: 0 0 22px;
	position: relative; overflow: hidden;
}
.bdc-readout::after {
	content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,0.5), transparent);
	animation: bdc-scan 2.6s linear infinite;
}
@media (prefers-reduced-motion: reduce) { .bdc-readout::after { animation: none; } }
@keyframes bdc-scan { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }

.bdc-grade { font-family: var(--bdc-mono); font-size: 44px; font-weight: 700; line-height: 1; color: #fff; min-width: 56px; text-align: center; }
.bdc-grade[data-grade="A"] { color: #6fe3a5; }
.bdc-grade[data-grade="B"] { color: #a9e36f; }
.bdc-grade[data-grade="C"] { color: #f0c85a; }
.bdc-grade[data-grade="D"] { color: #f0a25a; }
.bdc-grade[data-grade="F"] { color: #f0705a; }

.bdc-readout-meta { font-family: var(--bdc-mono); color: #c9d2e0; font-size: 13px; line-height: 1.6; }
.bdc-readout-domain { color: #fff; font-size: 15px; font-weight: 600; display: block; }

.bdc-gate p { color: var(--bdc-ink-soft); font-size: 14px; line-height: 1.6; margin: 0 0 16px; }
.bdc-gate .bdc-form-row { margin-bottom: 10px; }

.bdc-checks { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--bdc-line); }
.bdc-check-row { border-bottom: 1px solid var(--bdc-line); padding: 14px 0; }
.bdc-check-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.bdc-check-name { font-weight: 600; font-size: 14px; }
.bdc-pill { font-family: var(--bdc-mono); font-size: 11px; letter-spacing: 0.04em; text-transform: uppercase; padding: 3px 9px; border-radius: 100px; white-space: nowrap; }
.bdc-pill-pass { color: var(--bdc-pass); background: var(--bdc-pass-bg); }
.bdc-pill-warn { color: var(--bdc-warn); background: var(--bdc-warn-bg); }
.bdc-pill-fail { color: var(--bdc-fail); background: var(--bdc-fail-bg); }
.bdc-pill-neutral { color: var(--bdc-neutral); background: #eef0f3; }

.bdc-check-notes { margin: 8px 0 0; padding: 0; list-style: none; font-size: 13px; color: var(--bdc-ink-soft); line-height: 1.6; }
.bdc-check-notes li::before { content: "— "; color: var(--bdc-line); }

.bdc-raw {
	font-family: var(--bdc-mono); font-size: 12px; background: var(--bdc-bg);
	border: 1px solid var(--bdc-line); border-radius: 5px; padding: 8px 10px; margin: 8px 0 0;
	word-break: break-all; white-space: pre-wrap; color: var(--bdc-ink-soft);
}

.bdc-loading { font-family: var(--bdc-mono); font-size: 13px; color: var(--bdc-ink-soft); padding: 20px 0; text-align: center; }

.bdc-cta { background: var(--bdc-bg); border: 1px solid var(--bdc-line); border-left: 3px solid var(--bdc-accent); border-radius: 6px; padding: 16px 18px; margin-bottom: 22px; }
.bdc-cta p { margin: 0 0 12px; font-size: 14px; line-height: 1.6; color: var(--bdc-ink); }
.bdc-cta .bdc-btn { display: inline-block; text-decoration: none; }

.bdc-comparison { text-align: center; font-size: 13px; color: var(--bdc-ink-soft); margin: -12px 0 20px; }

.bdc-provider-tip { background: #eef3fa; border: 1px solid #cddaeb; border-radius: 6px; padding: 12px 16px; margin-bottom: 18px; font-size: 13px; line-height: 1.6; color: var(--bdc-ink); }
.bdc-provider-tip p { margin: 0; }

.bdc-top-fixes { background: var(--bdc-bg); border: 1px solid var(--bdc-line); border-radius: 6px; padding: 14px 16px; margin-bottom: 18px; }
.bdc-top-fixes-title { margin: 0 0 8px; font-size: 13px; font-weight: 700; color: var(--bdc-ink); }
.bdc-top-fixes-list { margin: 0; padding-left: 18px; font-size: 13px; line-height: 1.7; color: var(--bdc-ink-soft); }

.bdc-dns-record {
	margin: 8px 0 4px;
	padding: 10px 12px;
	background: var(--bdc-panel);
	border: 1px solid var(--bdc-line);
	border-radius: 5px;
}
.bdc-dns-table { width: 100%; border-collapse: collapse; font-family: var(--bdc-mono); font-size: 11.5px; margin-bottom: 8px; }
.bdc-dns-table tr:not(:last-child) td { padding-bottom: 4px; }
.bdc-dns-label { color: var(--bdc-ink-soft); text-transform: uppercase; letter-spacing: 0.04em; width: 50px; vertical-align: top; padding-right: 8px; }
.bdc-dns-value { color: var(--bdc-ink); word-break: break-all; }
.bdc-copy-btn { font-size: 12px; padding: 6px 12px; }
.bdc-dns-note { font-size: 12px; color: var(--bdc-ink-soft); line-height: 1.6; margin: 6px 0 0; white-space: pre-wrap; }

.bdc-advanced-toggle-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px; padding-top: 18px; border-top: 1px dashed var(--bdc-line); }
.bdc-advanced-label { font-size: 13px; color: var(--bdc-ink-soft); }
.bdc-advanced-label strong { color: var(--bdc-ink); }
.bdc-switch { position: relative; width: 42px; height: 24px; flex-shrink: 0; }
.bdc-switch input { opacity: 0; width: 0; height: 0; }
.bdc-switch-track { position: absolute; inset: 0; background: #cbd3dc; border-radius: 100px; cursor: pointer; transition: background 0.15s ease; }
.bdc-switch-track::before {
	content: ""; position: absolute; left: 3px; top: 3px; width: 18px; height: 18px;
	background: #fff; border-radius: 50%; transition: transform 0.15s ease; box-shadow: 0 1px 2px rgba(0,0,0,0.25);
}
.bdc-switch input:checked + .bdc-switch-track { background: var(--bdc-accent); }
.bdc-switch input:checked + .bdc-switch-track::before { transform: translateX(18px); }
.bdc-advanced-checks { display: none; }
.bdc-advanced-checks.is-open { display: block; }

.bdc-share { text-align: center; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--bdc-line); }
.bdc-share-label { font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--bdc-ink-soft); margin: 0 0 10px; }
.bdc-share-img { max-width: 100%; border-radius: 6px; border: 1px solid var(--bdc-line); margin-bottom: 10px; }
.bdc-share-link { display: inline-block; }

.bdc-share-social {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin: 4px 0 12px;
}
.bdc-social-btn {
	font-size: 13px;
	padding: 9px 16px;
	text-decoration: none;
	color: #fff;
}
.bdc-social-linkedin { background: #0a66c2; }
.bdc-social-linkedin:hover { background: #084e96; }
.bdc-social-twitter { background: #10192b; }
.bdc-social-twitter:hover { background: #000; }
.bdc-social-facebook { background: #1877f2; }
.bdc-social-facebook:hover { background: #1360c4; }

.bdc-footer-note { font-size: 12px; color: var(--bdc-ink-soft); margin-top: 18px; text-align: center; }

@media (max-width: 480px) {
	.bdc-card { padding: 20px 18px; }
	.bdc-grade { font-size: 34px; }
}
