/* Nulvex Gate v3. First-party presentation for an invisible Turnstile check. Supplied verbatim by Nulvex Operations.
 * NOLIM adaptation is at the bottom (variables, sr-only, interactive state, left alignment). */
.nvx-gate{
 box-sizing:border-box;position:relative;width:min(320px,100%);height:64px;margin:22px auto 16px;
 padding:9px 12px;border:1px solid var(--line);border-radius:6px;background:var(--panel-2);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.025),inset 0 -10px 24px rgba(0,0,0,.1);
 display:flex;align-items:center;justify-content:space-between;gap:12px;overflow:hidden;
 transition:border-color .15s ease,background-color .15s ease,color .15s ease
}
.nvx-gate-state,.nvx-gate-retry{display:flex;align-items:center;gap:11px;min-width:0;color:var(--text)}
.nvx-gate-retry{
 display:none;margin:0;padding:0;border:0;border-radius:4px;background:transparent;font:inherit;
 text-align:left;cursor:pointer
}
.nvx-gate-retry:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.nvx-gate-mark{
 position:relative;width:28px;height:28px;display:grid;place-items:center;flex:0 0 28px;
 border:1px solid #3a6687;border-radius:50%;background:#102b42
}
.nvx-gate-mark::before{
 content:"";position:absolute;inset:-2px;border:2px solid rgba(105,204,227,.18);
 border-top-color:#69cce3;border-radius:50%;animation:nulvex-gate-spin .9s linear infinite
}
.nvx-gate-favicon{position:relative;z-index:1;display:block;width:14px;height:14px;object-fit:contain;transition:opacity .15s ease}
.nvx-gate-check{
 position:absolute;z-index:2;width:17px;height:17px;fill:none;stroke:#69cce3;stroke-width:2.4;
 stroke-linecap:round;stroke-linejoin:round;opacity:0
}
.nvx-gate-check path{stroke-dasharray:24;stroke-dashoffset:24}
.nvx-gate-checkbox{
 box-sizing:border-box;display:block;width:22px;height:22px;border:1.5px solid #d8e1e4;
 border-radius:4px;background:#0f1820;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)
}
.nvx-gate-label{
 display:block;min-width:0;color:var(--muted);font:600 14px/1.3 var(--sans);white-space:nowrap;
 transition:color .15s ease
}
.nvx-gate-brand{display:grid;justify-items:end;align-content:center;flex:none;min-width:70px}
.nvx-gate-lockup{display:block;width:auto;height:22px;max-width:58px;object-fit:contain}
.nvx-gate-links{display:flex;align-items:center;gap:4px;margin-top:1px;color:var(--dim);font:400 9px/1.15 var(--mono);white-space:nowrap}
.nvx-gate-links a{color:inherit;text-decoration:none}
.nvx-gate-links a:hover{color:var(--accent)}
.nvx-gate-slot{
 position:absolute;width:1px;height:1px;inset:auto 0 0 auto;overflow:hidden;
 clip-path:inset(50%);white-space:nowrap
}
.nvx-gate[data-gate-state="verified"]{border-color:#12899d;background:#0f2834}
.nvx-gate[data-gate-state="verified"] .nvx-gate-mark{border-color:#159cb1;background:#0e3440;animation:nulvex-gate-pop .3s ease-out}
.nvx-gate[data-gate-state="verified"] .nvx-gate-mark::before{border-color:#69cce3;animation:none}
.nvx-gate[data-gate-state="verified"] .nvx-gate-favicon{opacity:0}
.nvx-gate[data-gate-state="verified"] .nvx-gate-check{opacity:1}
.nvx-gate[data-gate-state="verified"] .nvx-gate-check path{animation:nulvex-gate-check .3s ease-out forwards}
.nvx-gate[data-gate-state="verified"] .nvx-gate-label{color:var(--success)}
.nvx-gate[data-gate-state="expired"]{border-color:color-mix(in srgb,var(--warn) 60%,var(--line))}
.nvx-gate[data-gate-state="expired"] .nvx-gate-mark::before{border-color:var(--warn);animation:none}
.nvx-gate[data-gate-state="expired"] .nvx-gate-label{color:var(--warn)}
.nvx-gate[data-gate-state="error"]{border-color:#9c4c47;background:#2f1919}
.nvx-gate[data-gate-state="error"] .nvx-gate-state{display:none}
.nvx-gate[data-gate-state="error"] .nvx-gate-retry{display:flex}
.nvx-gate[data-gate-state="error"] .nvx-gate-retry .nvx-gate-mark{border:0;background:transparent}
.nvx-gate[data-gate-state="error"] .nvx-gate-retry .nvx-gate-mark::before{content:none}
.nvx-gate[data-gate-state="error"] .nvx-gate-label{color:#ffd3cd}
.nvx-gate-nojs{max-width:620px;margin:18px auto;color:var(--warn);font-size:13px;line-height:1.7;text-align:center}
@keyframes nulvex-gate-spin{to{transform:rotate(360deg)}}
@keyframes nulvex-gate-check{to{stroke-dashoffset:0}}
@keyframes nulvex-gate-pop{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@media(max-width:360px){
 .nvx-gate{padding-inline:10px;gap:8px}
 .nvx-gate-state,.nvx-gate-retry{gap:8px}
 .nvx-gate-brand{min-width:64px}
 .nvx-gate-lockup{height:20px;max-width:52px}
 .nvx-gate-label{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
 .nvx-gate,.nvx-gate-favicon,.nvx-gate-label{transition:none}
 .nvx-gate-mark::before,.nvx-gate[data-gate-state="verified"] .nvx-gate-mark,
 .nvx-gate[data-gate-state="verified"] .nvx-gate-check path{animation:none!important}
 .nvx-gate[data-gate-state="verified"] .nvx-gate-check path{stroke-dashoffset:0}
}

/* ---- NOLIM skin: the Gate wears the NOLIM colors and stays quiet. Dark and light follow the system.
 * Verified is a whisper of champagne gold, never green. Only the Nulvex marks keep their original colors. ---- */
.nvx-gate{--panel-2:var(--card2);--text:var(--fg);--success:var(--accent);--mono:SFMono-Regular,Consolas,"Liberation Mono",monospace;margin:4px 0 0;
 border-color:var(--line);background:var(--field);box-shadow:none}
.nvx-gate-label{font-weight:500}
.nvx-gate-mark{border-color:var(--line2);background:#0b0b0e}
.nvx-gate-mark::before{border-color:var(--line);border-top-color:var(--accent)}
.nvx-gate-check{stroke:var(--accent);stroke-width:2}
.nvx-gate-checkbox{border-color:var(--muted);background:var(--field)}
.nvx-gate-brand{padding:4px 7px;border-radius:5px;background:#0b1218}
.nvx-gate-links{color:#8fa2ae}
.nvx-gate[data-gate-state="verified"]{border-color:rgba(var(--goldrgb),.38);background:rgba(var(--goldrgb),.045)}
.nvx-gate[data-gate-state="verified"] .nvx-gate-mark{border-color:rgba(var(--goldrgb),.45);background:#0b0b0e;animation:none}
.nvx-gate[data-gate-state="verified"] .nvx-gate-mark::before{border-color:rgba(var(--goldrgb),.25)}
.nvx-gate[data-gate-state="verified"] .nvx-gate-label{color:var(--muted)}
.nvx-gate[data-gate-state="expired"]{border-color:var(--line2)}
.nvx-gate[data-gate-state="expired"] .nvx-gate-label{color:var(--muted)}
.nvx-gate[data-gate-state="expired"] .nvx-gate-mark::before{border-color:var(--line);animation:none}
.nvx-gate[data-gate-state="error"]{border-color:var(--line2);background:var(--field)}
.nvx-gate[data-gate-state="error"] .nvx-gate-label{color:var(--fg)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nvx-gate[data-gate-state="interactive"]{height:auto;min-height:64px;flex-wrap:wrap}
.nvx-gate[data-gate-state="interactive"] .nvx-gate-slot{position:static;flex:0 0 100%;width:100%;height:auto;min-height:65px;clip-path:none;overflow:visible;white-space:normal}
.nvx-gate[data-gate-state="interactive"] .nvx-gate-label{color:var(--text)}
