/* Visual access feedback only; animation never extends authorization. */
.auth-runtime-check { position:relative; display:inline-grid; place-items:center; flex:none; width:42px; height:42px; }
.auth-runtime-logo { position:relative; display:block; width:36px; height:36px; overflow:hidden; border:1px solid rgba(237,197,119,.72); border-radius:50%; background:#050505; box-shadow:0 0 0 3px rgba(221,177,103,.08); }
.auth-runtime-logo img { position:absolute; display:block; width:218.2%; max-width:none; height:auto; left:-59.1%; top:-95.5%; }
.auth-shield { position:relative; display:inline-grid; place-items:center; flex:none; width:42px; height:42px; }
.auth-shield-crop { position:relative; display:block; width:100%; height:100%; overflow:hidden; border-radius:50%; background:#fff; }
.auth-shield img { position:absolute; display:block; width:192.6154%; max-width:none; height:auto; left:-46.3077%; top:-32.1%; }
.auth-controls #auth-status { flex-basis:auto; font-size:.875rem; }
.auth-denied { position:fixed; z-index:1000; inset:0; display:grid; place-items:center; padding:24px; overflow:auto; color:#f7eedf; background:#070b12; }
.auth-denied-card { width:min(100%,560px); text-align:center; padding:24px 0; }
.auth-denied-shield { width:min(52vw,280px); height:min(52vw,280px); margin:0 auto 24px; }
.auth-denied h1 { font-size:clamp(2rem,7vw,3.5rem); line-height:1.15; margin:0 0 16px; }
.auth-denied p { color:#c1c8d3; line-height:1.6; }
.auth-denied-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:24px; }
.auth-denied button { min-height:48px; padding:12px 20px; border:1px solid #d5a85c; border-radius:12px; background:#161e2c; color:#f7eedf; font:inherit; cursor:pointer; }
.auth-denied button:focus-visible { outline:3px solid #f1cf86; outline-offset:4px; }
.auth-denied button:disabled { opacity:.6; cursor:wait; }
.auth-denied[hidden], .auth-shield[hidden], .auth-runtime-check[hidden] { display:none !important; }
