
.gate-row{display:grid;gap:0;justify-items:start}
.nvx-gate-shell{position:relative;width:100%;max-width:100%;border:1px solid var(--line-2);border-radius:3px;background:var(--surface-2);text-align:left;container-type:inline-size;container-name:nulvex-gate;
  transition:border-color .2s ease,background-color .2s ease}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .nvx-gate-shell{background:var(--surface)}}
.nvx-gate{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px 14px;padding:6px 14px}
.nvx-gate-control{grid-column:1;grid-row:1;display:flex;align-items:center;justify-content:flex-start;gap:14px;width:100%;min-height:48px;padding:0;margin:0;border:0;background:none;color:var(--fg);font:inherit;text-align:left;cursor:default;opacity:1}
.nvx-gate-control:not(:disabled){cursor:pointer}
.nvx-gate-control:focus-visible,.nvx-gate-links a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
.nvx-gate-mark-slot{width:26px;height:26px;display:grid;place-items:center;flex:0 0 26px}
.nvx-verify-mark{position:relative;display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--line-2);border-radius:4px;background:var(--bg);overflow:hidden}
.nvx-verify-mark img{display:block;width:14px;height:14px}
.nvx-gate-check{position:absolute;inset:3px;width:20px;height:20px;display:none;fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.nvx-gate-check path{stroke-dasharray:24;stroke-dashoffset:24}
.nvx-gate-checkbox{display:none;box-sizing:border-box;width:24px;height:24px;border:1.5px solid var(--muted);border-radius:4px;background:var(--bg)}
.nvx-gate-label{min-width:0;flex:1 1 auto;display:flex;align-items:center;min-height:40px;color:var(--fg);font:500 15px/1.35 var(--body);overflow-wrap:anywhere}
.nvx-gate-links{grid-column:2;grid-row:1;display:flex;align-items:center;gap:2px;color:var(--muted);font:500 12px/1.4 var(--body);white-space:nowrap}
.nvx-gate-links a{display:inline-flex;align-items:center;min-height:36px;padding:0 6px;color:inherit;text-decoration:none;transition:color .2s}
.nvx-gate-brand{grid-column:3;grid-row:1;display:flex;align-items:center;padding:5px 8px;border-radius:3px;background:#0b1218}

@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .nvx-gate-brand{background:none;padding-inline:0}}
.nvx-gate-lockup{display:block;width:104px;height:auto;max-width:100%}
.nvx-gate-slot{display:flex;justify-content:center;width:100%;height:0;min-height:0;margin:0;padding:0;overflow:hidden;visibility:hidden;pointer-events:none}
.nvx-gate-slot>*{flex:0 0 auto}
.nvx-gate-slot iframe{display:block;max-width:100%;border:0}
.nvx-gate-shell[data-gate-state="interactive"] .nvx-gate-slot:not([aria-hidden="true"]){height:auto;min-height:65px;margin-bottom:10px;visibility:visible;pointer-events:auto}

.nvx-gate-shell[data-gate-state="checking"] .nvx-verify-mark{border-color:var(--line-2);border-top-color:var(--accent);animation:nvx-pulse 1.2s ease-in-out infinite alternate}
.nvx-gate-shell[data-gate-state="verified"]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--surface-2))}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .nvx-gate-shell[data-gate-state="verified"]{background:color-mix(in srgb,var(--accent) 7%,var(--surface))}}
.nvx-gate-shell[data-gate-state="verified"] .nvx-verify-mark{border-color:var(--accent)}
.nvx-gate-shell[data-gate-state="verified"] .nvx-verify-mark img{visibility:hidden}
.nvx-gate-shell[data-gate-state="verified"] .nvx-gate-check{display:block}
.nvx-gate-shell[data-gate-state="verified"] .nvx-gate-check path{animation:nvx-check .35s ease-out forwards}
.nvx-gate-shell[data-gate-state="expired"]{border-color:var(--accent-soft)}
.nvx-gate-shell[data-gate-state="error"]{border-color:var(--accent-soft)}
.nvx-gate-shell[data-gate-state="error"] .nvx-verify-mark{display:none}
.nvx-gate-shell[data-gate-state="error"] .nvx-gate-checkbox{display:block;border-color:var(--accent)}
.nvx-gate-nojs{margin:10px 0 0;color:var(--muted);font-size:.85rem}
@keyframes nvx-pulse{from{opacity:.55}to{opacity:1}}
@keyframes nvx-check{to{stroke-dashoffset:0}}

@container nulvex-gate (width < 418px){
  .nvx-gate{grid-template-columns:auto minmax(0,1fr);justify-content:center;gap:2px 10px}
  .nvx-gate-control{grid-column:1/-1;grid-row:1}
  .nvx-gate-links{grid-column:2;grid-row:2;justify-content:flex-end}
  .nvx-gate-brand{grid-column:1;grid-row:2}
}
@media (hover:hover) and (pointer:fine){.nvx-gate-links a:hover{color:var(--accent)}}
@media (prefers-reduced-motion:reduce){.nvx-gate-shell,.nvx-gate-links a{transition:none}.nvx-gate-shell[data-gate-state="checking"] .nvx-verify-mark{animation:none}.nvx-gate-shell[data-gate-state="verified"] .nvx-gate-check path{animation:none;stroke-dashoffset:0}}
.honeypot{position:absolute!important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
#reqResult[data-kind="fail"] h3{color:var(--fg)}

@media (max-width:760px){.gate-row{justify-items:center}}
