
    body.access-pending main,body.access-denied main { display:none; }
    .access-gate { min-height:100vh; padding:24px; display:grid; place-items:center; background:var(--bg); }
    .access-gate[hidden] { display:none; }
    .access-card { width:min(420px,100%); padding:28px; border:1px solid var(--line-strong); border-radius:10px;
      background:var(--panel); box-shadow:inset 0 1px 0 color-mix(in srgb,var(--highlight) 4.31%,transparent),0 28px 80px color-mix(in srgb,var(--shadow-color) 66.7%,transparent); text-align:center; }
    .access-mark { width:38px; height:38px; margin:0 auto 18px; display:flex; align-items:center; justify-content:center; border:1px solid var(--line-strong);
      border-radius:50%; color:var(--accent-ink); box-shadow:0 0 24px color-mix(in srgb,var(--accent) 12.5%,transparent); font-size:17px; font-weight:700; }
    .access-card h2 { margin:0; font-size:20px; letter-spacing:-.025em; }
    .access-card p { margin:12px 0 20px; color:var(--muted); font-size:12px; line-height:1.65; }
    .access-action { min-height:36px; padding:0 16px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--warning-border);
      border-radius:5px; background:var(--accent); color:var(--accent-text); font:700 12px/1 inherit; text-decoration:none; cursor:pointer; }
    .access-action:hover { filter:brightness(1.08); }
    .access-wait .access-mark { animation:access-pulse 1.3s ease-in-out infinite; }
    @keyframes access-pulse { 50% { opacity:.45; transform:scale(.92); } }
    .access-gate { background-color:var(--bg); background-image:none;
      background-repeat:no-repeat,repeat; background-position:top center,0 0; background-size:min(1600px,100vw) 420px,64px 64px; }
    .access-card { border-color:var(--line-strong); border-radius:9px; background:var(--panel); box-shadow:0 24px 70px color-mix(in srgb,var(--shadow-color) 48%,transparent); }
    .access-mark { width:auto; height:auto; margin-bottom:16px; border:0; border-radius:0; color:var(--accent-ink); box-shadow:none;
      font:700 20px/1 var(--font-data); letter-spacing:-.05em; }
    .access-card h2 { font-size:18px; font-weight:700; }
    .access-card p { color:var(--muted); }
    .access-action { border-color:color-mix(in srgb,var(--accent) 64%,transparent); border-radius:5px; background:var(--accent); color:var(--accent-text); }
.access-action[hidden] { display:none; }
@media(prefers-reduced-motion:reduce){.access-wait .access-mark{animation:none}}
