/* "Request access" dialog (access.js). Uses the page's Radox tokens; fallbacks for safety. */
.acc { width: min(32rem, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); overflow: auto; margin: auto; padding: 1.5rem; border: 1px solid hsl(var(--border, 216 14% 14%)); border-radius: var(--radius, .625rem); background: hsl(var(--card, 210 10% 8%)); color: hsl(var(--foreground, 220 7% 91%)); font-family: var(--font-body, 'Inter', system-ui, sans-serif); font-size: 16px; line-height: 1.5; box-shadow: 0 24px 64px hsl(0 0% 0% / .5); }
.acc::backdrop { background: hsl(220 10% 3% / .72); }
.acc h2 { margin: 0 2rem .4rem 0; font-size: 24px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.2; }
.acc .acc-fine { margin: 0 0 .75rem; font-size: 13px; color: hsl(var(--muted-foreground, 219 7% 57%)); }
.acc .acc-lede { margin: 0 0 1.25rem; font-size: 15px; color: hsl(var(--muted-foreground, 219 7% 57%)); }
.acc form { display: grid; gap: .9rem; }
.acc-f { display: grid; gap: .3rem; min-width: 0; }
.acc label { font-size: 14px; font-weight: 600; }
.acc input, .acc textarea { width: 100%; min-width: 0; min-height: 44px; padding: .55rem .75rem; border: 1px solid hsl(var(--border, 216 14% 14%)); border-radius: calc(var(--radius, .625rem) - 2px); background: hsl(var(--background, 220 10% 6%)); color: inherit; font: inherit; font-size: 16px; }
.acc textarea { resize: vertical; min-height: 6.5rem; }
.acc input:focus-visible, .acc textarea:focus-visible, .acc button:focus-visible { outline: 2px solid hsl(var(--ring, 76 86% 63%)); outline-offset: 2px; }
.acc [aria-invalid="true"] { border-color: hsl(0 72% 62%); }
.acc-err { font-size: 13px; color: hsl(0 72% 70%); min-height: 0; }
.acc-err:empty { display: none; }
.acc-count { justify-self: end; font-size: 12px; color: hsl(var(--muted-foreground, 219 7% 57%)); }
.acc-hp { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.acc-status { margin: 0; font-size: 14px; color: hsl(var(--muted-foreground, 219 7% 57%)); }
.acc-status:empty { display: none; }
.acc-send { justify-self: start; min-height: 44px; padding: 0 1.2rem; border: 0; border-radius: var(--radius, .625rem); background: hsl(var(--primary, 76 86% 63%)); color: hsl(var(--primary-foreground, 220 10% 6%)); font: inherit; font-weight: 600; cursor: pointer; }
.acc-send:disabled { opacity: .6; cursor: progress; }
.acc-x { position: absolute; top: .75rem; right: .75rem; width: 44px; height: 44px; border: 0; border-radius: var(--radius, .625rem); background: transparent; color: hsl(var(--muted-foreground, 219 7% 57%)); font-size: 24px; line-height: 1; cursor: pointer; }
.acc-x:hover { color: hsl(var(--foreground, 220 7% 91%)); }
.acc-done { margin: 0; font-size: 16px; color: hsl(var(--foreground, 220 7% 91%)); }
.acc-done:focus { outline: none; }
@media (prefers-reduced-motion: no-preference) {
  .acc[open] { animation: acc-in .18s ease-out; }
  @keyframes acc-in { from { opacity: 0; transform: translateY(8px); } }
}
@media (max-width: 480px) { .acc { padding: 1.25rem 1rem; } .acc h2 { font-size: 21px; } }
