.own-captcha[hidden]{display:none!important}.own-captcha{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:18px;background:rgba(10,29,20,.68);backdrop-filter:blur(5px);overflow:auto}.own-captcha-preview{position:relative;inset:auto;z-index:auto;padding:0;background:transparent;backdrop-filter:none;display:block;overflow:visible}.own-captcha-frame{width:min(720px,100%);max-height:calc(100vh - 36px);overflow:auto;border:1px solid #b9d6c2;border-radius:18px;background:#fff;box-shadow:0 24px 80px rgba(0,0,0,.30)}.own-captcha-preview .own-captcha-frame{width:100%;max-height:none;box-shadow:var(--shadow)}.own-captcha-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:15px 17px;background:#0b3328;color:#fff;border-radius:17px 17px 0 0}.own-captcha-head h2{margin:2px 0 0;color:#fff;font-size:22px}.own-captcha-kicker{margin:0;color:#bff0d3;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.own-captcha-description{margin:5px 0 0;color:#e2f3e9;font-size:13px}.own-captcha-close{flex:0 0 auto;width:34px;height:34px;padding:0;border-radius:10px;background:#d93838;color:#fff;font-size:24px;line-height:1}.own-captcha-content{padding:16px}.own-captcha-hint{margin:0 0 12px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#f7fbf8;color:var(--muted);font-weight:700}.own-captcha-board{position:relative;display:grid;gap:68px;padding:12px 10px;border:1px solid var(--line);border-radius:15px;background:#fbfdfb;overflow:hidden;isolation:isolate}.own-captcha-board--three_rows{gap:58px}.own-captcha-source{display:grid;grid-template-columns:repeat(var(--captcha-source-columns),minmax(48px,1fr));gap:9px;position:relative;z-index:2}.own-captcha-cell{height:62px;border:1px solid #d2e2d7;border-radius:12px;background:#fff;display:grid;place-items:center;position:relative;overflow:hidden}.own-captcha-cell:before,.own-captcha-cell:after{content:"";position:absolute;inset:auto -12px 50%;height:2px;background:rgba(82,105,92,.35);transform:rotate(-13deg)}.own-captcha-cell:after{transform:rotate(13deg)}.own-captcha-cell strong{font-size:27px;line-height:1;font-weight:950;color:#102b20;transform:rotate(var(--captcha-rotation));text-shadow:1px 1px 0 rgba(16,124,65,.15);z-index:2}.own-captcha-cell.is-decoy{opacity:.58}.own-captcha-board.has-noise .own-captcha-cell{background-image:radial-gradient(circle at 2px 2px,rgba(24,50,38,var(--captcha-noise-opacity)) 1px,transparent 1.2px);background-size:7px 7px}.own-captcha-answer{display:grid;grid-template-columns:repeat(var(--captcha-answer-columns),minmax(44px,1fr));gap:8px;position:relative;z-index:3}.own-captcha-answer input{height:52px;padding:4px;text-align:center;font-size:23px;font-weight:900;background:var(--captcha-input-fill);border-color:#bcd4c4}.own-captcha-arrows{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:visible}.own-captcha-error{margin:10px 0 0;color:var(--danger);font-weight:800}.own-captcha-actions{display:flex;justify-content:flex-end;gap:9px;padding:13px 16px;border-top:1px solid var(--line);background:#f8fbf9;border-radius:0 0 17px 17px}.own-captcha-open{overflow:hidden}@media(max-width:620px){.own-captcha{padding:8px}.own-captcha-frame{max-height:calc(100vh - 16px)}.own-captcha-board{gap:50px;padding:9px 7px}.own-captcha-board--three_rows{gap:42px}.own-captcha-source{gap:5px}.own-captcha-cell{height:50px}.own-captcha-cell strong{font-size:22px}.own-captcha-answer{gap:5px}.own-captcha-answer input{height:45px;font-size:20px}.own-captcha-actions{flex-direction:column-reverse}.own-captcha-actions button{width:100%}}
.captcha-admin-tabs:not(.system-section-nav){display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.captcha-admin-tabs:not(.system-section-nav) a{border:1px solid var(--line);border-radius:999px;background:#fff;padding:8px 12px;font-size:13px;font-weight:800}.captcha-admin-tabs:not(.system-section-nav) a.active{border-color:var(--green);background:var(--green-soft);color:var(--green)}.captcha-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.captcha-admin-grid .wide{grid-column:1/-1}.captcha-admin-text-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.captcha-admin-text-grid textarea{min-height:88px}.captcha-admin-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.captcha-admin-preview-wrap{max-width:820px}.captcha-admin-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.captcha-admin-guide article{border:1px solid var(--line);border-radius:12px;padding:13px;background:#f8fafc}@media(max-width:900px){.captcha-admin-text-grid,.captcha-admin-grid,.captcha-admin-checks,.captcha-admin-guide{grid-template-columns:1fr}.captcha-admin-grid .wide{grid-column:auto}}

/* Character renderer and disturbances mirror the FluxPike OWN-CAPTCHA controls. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.own-captcha-character{font-size:27px;line-height:1;font-weight:950;color:#102b20;transform:rotate(var(--captcha-rotation));text-shadow:1px 1px 0 rgba(16,124,65,.15);z-index:2}
.own-captcha-glyph{width:54px;height:54px;display:block;color:#102b20;overflow:visible;position:relative;z-index:2}
.own-captcha-glyph text{fill:currentColor;font-size:39px;font-weight:950;font-family:Arial,Helvetica,sans-serif;paint-order:stroke;stroke:rgba(255,255,255,.32);stroke-width:.8px}
.own-captcha-cell.has-character-noise:before,.own-captcha-cell.has-character-noise:after{opacity:calc(.18 + (var(--captcha-character-noise,35) / 220))}
.own-captcha-cell.has-character-noise--points{background-image:radial-gradient(circle at 2px 2px,rgba(24,50,38,calc(.08 + (var(--captcha-character-noise,35) / 400))) 1px,transparent 1.25px);background-size:7px 7px}
.own-captcha-cell.has-character-noise--pixel .own-captcha-character,.own-captcha-cell.has-character-noise--mixed .own-captcha-character{text-shadow:var(--captcha-pixel,2px) var(--captcha-pixel,2px) 0 rgba(20,75,48,calc(.14 + (var(--captcha-character-noise,35) / 500))),calc(var(--captcha-pixel,2px) * -1) 0 rgba(18,43,32,.14)}
.own-captcha-cell.has-character-noise--mixed{background-image:radial-gradient(circle at 2px 2px,rgba(24,50,38,calc(.06 + (var(--captcha-character-noise,35) / 450))) 1px,transparent 1.25px);background-size:7px 7px}
@media(max-width:620px){.own-captcha-character{font-size:22px}.own-captcha-glyph{width:44px;height:44px}.own-captcha-glyph text{font-size:35px}}
