/* 无痕点击验证组件
   配色通过 CSS 变量继承宿主页面（前台 site.css / 后台 admin.css），
   未定义时使用中性回退值，保证在任何页面都不跳出整体色系。零依赖。 */
.nc-widget{display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box;
  border:1px solid var(--line,#dedcd7);border-radius:var(--radius-sm,4px);
  background:var(--surface-2,#f6f5f2);padding:11px 13px;
  cursor:pointer;user-select:none;transition:border-color .16s ease,background .16s ease;position:relative}
.nc-widget:hover{border-color:var(--ink-3,#8a8f98);background:var(--surface-2,#f6f5f2)}
.nc-widget:focus{outline:none;border-color:var(--ink,#111213);box-shadow:0 0 0 3px rgba(17,18,19,.08)}
.nc-widget .nc-box{width:16px;height:16px;flex:0 0 16px;border:1.5px solid var(--ink-3,#8a8f98);border-radius:3px;
  background:transparent;display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:700;color:#fff;line-height:1;transition:all .16s ease}
.nc-widget .nc-label{font-size:13.5px;color:var(--ink-2,#4a4f57);font-weight:500}
.nc-widget .nc-hint{font-size:12px;color:var(--ink-3,#8a8f98);margin-left:auto;white-space:nowrap}
.nc-widget.busy{cursor:progress;border-color:var(--ink-3,#8a8f98)}
.nc-widget.busy .nc-box{border-color:var(--ink,#111213);border-top-color:transparent;border-radius:50%;
  animation:nc-spin .7s linear infinite}
.nc-widget.busy .nc-hint{display:none}
.nc-widget.ok{cursor:default;border-color:var(--ok,#15803d)}
.nc-widget.ok .nc-box{background:var(--ok,#15803d);border-color:var(--ok,#15803d)}
.nc-widget.ok .nc-label{color:var(--ok,#15803d)}
.nc-widget.ok .nc-hint{display:none}
@keyframes nc-spin{to{transform:rotate(360deg)}}
/* 蜜罐：对真人不可见（不用 display:none，避免脚本识别后跳过） */
.nc-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;
  opacity:0!important;pointer-events:none!important}
