/* NightCast Shield — theme-token based, RTL and legacy-browser friendly. */
.nc-shield-widget{
  --nc-shield-bg:var(--nc-theme-surface,#0e1930);
  --nc-shield-bg-2:var(--nc-theme-surface-2,#070e1e);
  --nc-shield-text:var(--nc-theme-text,#f8fafc);
  --nc-shield-muted:var(--nc-theme-muted,#94a3b8);
  --nc-shield-border:var(--nc-theme-border,rgba(148,163,184,.25));
  --nc-shield-primary:var(--nc-theme-primary,#8b5cf6);
  --nc-shield-accent:var(--nc-theme-accent,#67e8f9);
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(112px,auto);
  gap:12px;
  align-items:center;
  margin:16px 0;
  padding:16px;
  border:1px solid var(--nc-shield-border);
  border-radius:18px;
  background:linear-gradient(145deg,var(--nc-shield-bg),var(--nc-shield-bg-2));
  color:var(--nc-shield-text);
  font-family:inherit;
  min-width:0;
  box-shadow:0 10px 28px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.045);
  transition:border-color .2s ease,box-shadow .2s ease;
}
@supports (background:color-mix(in srgb,#000 50%,#fff)){
  .nc-shield-widget{background:linear-gradient(145deg,color-mix(in srgb,var(--nc-shield-bg) 94%,var(--nc-shield-primary) 6%),var(--nc-shield-bg-2))}
  .nc-shield-widget[data-state=ready]{border-color:color-mix(in srgb,var(--nc-shield-accent) 45%,var(--nc-shield-border))}
}
.nc-shield-widget[data-state=error]{border-color:var(--nc-theme-danger,#e87979)}
.nc-shield-title{grid-column:1/-1;display:flex;align-items:center;gap:9px;font-size:.92rem;font-weight:750;line-height:1.5}
.nc-shield-emblem{display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:9px;background:rgba(139,92,246,.16);color:var(--nc-shield-accent);font-size:1.05rem}
.nc-shield-question-row{display:flex;align-items:center;min-height:44px;min-width:0;padding:8px 12px;border:1px dashed var(--nc-shield-border);border-radius:12px;background:var(--nc-shield-bg-2)}
@supports (background:color-mix(in srgb,#000 50%,#fff)){
  .nc-shield-emblem{background:color-mix(in srgb,var(--nc-shield-primary) 18%,transparent)}
  .nc-shield-question-row{border-color:color-mix(in srgb,var(--nc-shield-accent) 40%,var(--nc-shield-border))}
}
.nc-shield-question-row strong{font-size:clamp(1.1rem,3vw,1.35rem);font-weight:800;letter-spacing:.04em;direction:ltr;unicode-bidi:isolate;color:var(--nc-shield-accent)}
.nc-shield-answer-label{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}
.nc-shield-answer-label>span{font-size:.83rem;color:var(--nc-shield-muted)}
.nc-shield-answer-label input{width:82px;max-width:100%;min-height:44px;border:1px solid var(--nc-shield-border);border-radius:12px;background:var(--nc-shield-bg-2);color:var(--nc-shield-text);padding:8px 10px;font:inherit;text-align:center;font-size:1.05rem;outline-offset:3px;box-sizing:border-box}
.nc-shield-answer-label input::placeholder{color:var(--nc-shield-muted);opacity:.75}
.nc-shield-answer-label input:focus-visible,.nc-shield-widget button:focus-visible{outline:3px solid var(--nc-shield-accent);outline-offset:2px}
.nc-shield-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:9px}
.nc-shield-widget .nc-shield-continue,.nc-shield-widget .nc-shield-refresh{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--nc-shield-border);border-radius:11px;padding:9px 14px;font:inherit;font-size:.85rem;font-weight:750;cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease;max-width:100%;box-sizing:border-box}
.nc-shield-widget .nc-shield-continue{background:var(--nc-shield-primary);border-color:var(--nc-shield-primary);color:#fff;box-shadow:0 5px 14px rgba(0,0,0,.12)}
.nc-shield-widget .nc-shield-refresh{background:var(--nc-shield-bg);color:var(--nc-shield-text)}
.nc-shield-widget button:hover:not(:disabled){transform:translateY(-1px);border-color:var(--nc-shield-accent)}
.nc-shield-widget button:active:not(:disabled){transform:translateY(0)}
.nc-shield-widget button:disabled{opacity:.55;cursor:wait}
.nc-shield-status{grid-column:1/-1;margin:0;font-size:.8rem;line-height:1.8;color:var(--nc-shield-muted)}
.nc-shield-status[data-state=error]{color:var(--nc-theme-danger,#e87979)}
.nc-shield-status[data-state=ready]{color:var(--nc-shield-muted)}
.nc-shield-widget input:disabled{opacity:.7}
:root[data-theme=moonlight] .nc-shield-widget{box-shadow:0 10px 28px rgba(65,80,120,.08),inset 0 1px 0 #fff}
:root[data-theme=moonlight] .nc-shield-widget .nc-shield-continue{color:#fff}
:root[data-theme=moonlight] .nc-shield-widget .nc-shield-refresh{background:#fff;color:#26324a;border-color:#cbd5e1}
:root[data-theme] body.cosmic-login .login-card .nc-shield-widget .nc-shield-continue{background:var(--nc-shield-primary);border-color:var(--nc-shield-primary);color:#fff}
:root[data-theme=moonlight] body.cosmic-login .login-card .nc-shield-widget .nc-shield-continue{color:#fff}
@media(max-width:480px){
  .nc-shield-widget{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px;border-radius:14px}
  .nc-shield-title{font-size:.88rem}
  .nc-shield-question-row{padding:7px 9px}
  .nc-shield-answer-label{gap:6px}
  .nc-shield-answer-label input{width:72px;min-height:42px}
  .nc-shield-widget .nc-shield-continue,.nc-shield-widget .nc-shield-refresh{min-height:44px;padding:9px 11px;font-size:.8rem}
  .nc-shield-actions{gap:7px}
}
@media(max-width:340px){
  .nc-shield-widget{grid-template-columns:minmax(0,1fr)}
  .nc-shield-title,.nc-shield-actions,.nc-shield-status{grid-column:1}
  .nc-shield-answer-label{justify-content:space-between}
  .nc-shield-answer-label input{width:90px}
  .nc-shield-actions>*{flex:1 1 auto}
}
@media(prefers-reduced-motion:reduce){.nc-shield-widget,.nc-shield-widget *{animation:none!important;transition:none!important}}
