.dologin-captcha-settings {
	width: 100%;
	table-layout: fixed;
	--dc-text: #1d2327;
	--dc-muted: #50575e;
	--dc-line: #c3c4c7;
	--dc-surface: #fff;
	color: var(--dc-text);
}
.dologin-captcha-settings [hidden], .dologin-captcha [hidden] { display: none !important; }
.dologin-captcha-methods { padding: 0; border: 0; min-width: 0; margin: 0 0 16px; }
.dologin-captcha-methods .dologin-switch { flex-wrap: wrap; max-width: 100%; }
.dologin-captcha-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 24px; }
.dologin-captcha-options { min-width: 0; }
.dologin-captcha-settings input[type="text"] { max-width: 100%; }
.dologin-captcha-preview { position: relative; padding: 16px; align-self: start; background: #f6f7f7; border: 1px solid var(--dc-line); border-radius: 4px; min-width: 0; }
.dologin-captcha-preview h4 { font-size: 16px; margin: 0 0 8px; padding-inline-end: 40px; }
.dologin-captcha-preview > p { color: var(--dc-muted); padding-inline-end: 24px; }
.dologin-captcha { position: relative; margin: 16px 0; font-size: 14px; line-height: 1.5; max-width: 100%; }
.dologin-captcha-preview .dologin-captcha { position: static; padding-top: 0; margin-bottom: 0; }
.dologin-captcha .button, .dologin-captcha button { min-height: 44px; cursor: pointer; }
.dologin-captcha .dologin-captcha-refresh { position: absolute; top: 0; inset-inline-end: 4px; display: flex; align-items: center; justify-content: center; width: 44px; padding: 0; border: 0; border-radius: 4px; color: #50575e; background: transparent; }
.dologin-captcha-preview .dologin-captcha .dologin-captcha-refresh { top: 4px; }
.dologin-captcha-refresh:hover { background: #dceef8; }
.dologin-captcha button:disabled { cursor: default; opacity: .55; }
.dologin-captcha button:focus-visible, .dologin-captcha input:focus-visible { outline: 2px solid #2271b1; outline-offset: 3px; }
.dologin-captcha-status:focus { outline: none; }
.dologin-captcha-surface { position: relative; min-height: 96px; display: flow-root; }
.dologin-captcha:not([data-demo="1"]) .dologin-captcha-surface { margin-top: 44px; }
/* Keep non-blocking progress accessible without adding a visible status row. */
.dologin-captcha-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); margin: 0; }
.dologin-captcha-status.dologin-captcha-overlay { inset: 0; z-index: 2; width: auto; height: auto; clip-path: none; box-sizing: border-box; display: flex; align-items: center; justify-content: center; padding: 16px; border-radius: 6px; background: rgb(255 255 255 / 92%); color: #1d2327; overflow-wrap: anywhere; font-weight: 600; text-align: center; }
.dologin-captcha-status[data-result="passed"] { color: #176b36; }
.dologin-captcha-status[data-result="failed"] { color: #b32d2e; }
.dologin-captcha[aria-busy="true"] .dologin-captcha-status::before { content: ''; display: inline-block; flex-shrink: 0; width: 14px; height: 14px; margin-inline-end: 8px; border: 2px solid #c3c4c7; border-top-color: #2271b1; border-radius: 50%; vertical-align: text-bottom; animation: dologin-captcha-spin .8s linear infinite; }
@keyframes dologin-captcha-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .dologin-captcha[aria-busy="true"] .dologin-captcha-status::before { animation: none; } }
.dologin-captcha-targets { display: flex; gap: 20px; list-style: decimal inside; margin: 8px 0 12px; padding: 0; }
.dologin-captcha-targets li { display: list-item; }
.dologin-captcha-targets img { width: 36px; height: 36px; vertical-align: middle; }
.dologin-captcha .dologin-captcha-patterns { position: relative; display: block; width: 280px; max-width: 100%; aspect-ratio: 5 / 3; border: 0; padding: 0; border-radius: 6px; overflow: hidden; background: #e7f0ee; cursor: default; touch-action: manipulation; }
.dologin-captcha-frame { position: relative; display: block; }
.dologin-captcha-frame > img { display: block; width: 100%; }
.dologin-captcha .dologin-captcha-patterns:disabled { opacity: 1; }
.dologin-captcha-mark, .dologin-captcha-cursor { position: absolute; transform: translate(-50%, -50%); pointer-events: none; box-sizing: border-box; border-radius: 50%; }
.dologin-captcha-mark { width: 36px; height: 36px; border: 3px solid #16803c; box-shadow: 0 0 0 1px #fff; background: radial-gradient(circle, #16803c 10px, transparent 10.5px); color: #fff; font: bold 12px/30px sans-serif; text-align: center; }
.dologin-captcha-cursor { width: 16px; height: 16px; border: 2px solid #1d2327; box-shadow: 0 0 0 2px #fff; }
.dologin-captcha-point-help { font-size: 12px; color: #50575e; }
.dologin-captcha-scene { position: relative; width: 280px; max-width: 100%; aspect-ratio: 2; overflow: hidden; border-radius: 6px; background: linear-gradient(155deg, #dceef8 55%, #277f79 55%, #15594e); }
.dologin-captcha-scene > img:first-child { width: 100%; height: 100%; display: block; }
.dologin-captcha-piece { position: absolute; top: 42.857%; left: 0; width: 15.714%; height: 31.429%; box-sizing: border-box; border: 2px solid #fff; border-radius: 8px; box-shadow: 0 2px 6px #172b4d80; }
.dologin-captcha input[type="range"] { appearance: none; -webkit-appearance: none; display: block; width: 100%; max-width: 280px; height: 44px; margin: 8px 0; padding: 0; background: #dceef8; border: 1px solid #8c8f94; border-radius: 6px; cursor: grab; touch-action: none; box-sizing: border-box; }
.dologin-captcha input[type="range"]::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: 48px; height: 44px; border: 2px solid #fff; border-radius: 6px; background: #2271b1 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 7-5 5 5 5m6-10 5 5-5 5' fill='none' stroke='white' stroke-width='2'/%3E%3C/svg%3E") center/24px no-repeat; box-shadow: 0 1px 4px #172b4d50; }
.dologin-captcha input[type="range"]::-moz-range-thumb { width: 44px; height: 40px; border: 2px solid #fff; border-radius: 6px; background: #2271b1 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 7-5 5 5 5m6-10 5 5-5 5' fill='none' stroke='white' stroke-width='2'/%3E%3C/svg%3E") center/24px no-repeat; }
.dologin-captcha input[type="range"]:active { cursor: grabbing; }
.dologin-captcha input[type="range"]:disabled { cursor: default; opacity: .7; }
.dologin-captcha-work { margin-top: 16px; padding: 12px; border: 1px solid #c3c4c7; border-radius: 4px; background: #fff; color: #50575e; font-size: 12px; }
.dologin-captcha-work p { margin: 0 0 8px; }
.dologin-captcha-work-digest { display: block; overflow-wrap: anywhere; font-size: 11px; }
@media (max-width: 1100px) {
	.dologin-captcha-layout { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.dologin-captcha-preview { max-width: 360px; width: 100%; box-sizing: border-box; grid-row: 1; }
}
@media (max-width: 680px) {
	.dologin-captcha-settings > tbody, .dologin-captcha-settings > tbody > tr, .dologin-captcha-settings > tbody > tr > th, .dologin-captcha-settings > tbody > tr > td { display: block; width: auto; }
}
