@font-face{font-family:'Geist Sans';src:url('fonts/GeistSans-Variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Geist Mono';src:url('fonts/GeistMono-Variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{color-scheme:dark;font-family:'Geist Sans',system-ui,sans-serif;background:#0c100f;color:#f1f4f1}
*{box-sizing:border-box}
body{min-width:20rem;min-height:100dvh;margin:0;background:radial-gradient(circle at 50% 44%,rgba(87,160,162,.1),transparent 21rem),#101514}
.access-shell{display:grid;min-height:100dvh;place-items:center;padding:1.5rem;box-shadow:inset 0 0 0 clamp(.5rem,1vw,.8rem) #0c100f}
.access-card{width:min(27rem,100%);padding:2rem;border:1px solid #2a3633;border-radius:10px;background:rgba(23,29,28,.88);box-shadow:0 24px 70px rgba(0,0,0,.28);backdrop-filter:blur(18px);animation:access-enter .55s cubic-bezier(.16,1,.3,1) both}
.access-mark{display:block;width:3.4rem;height:3.4rem;margin:0 0 1.5rem;color:#8fc4c5;filter:drop-shadow(0 8px 20px rgba(87,160,162,.12))}
.access-mark path{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.access-mark .page-back{opacity:.35}.access-mark .page-mid{opacity:.62}.access-mark .page-front{stroke:#acd6d5}
.access-kicker{display:block;margin-bottom:.38rem;color:#8fc4c5;font:700 .68rem/1 'Geist Mono',monospace;letter-spacing:.16em;text-transform:uppercase}
h1{margin:0;font-size:clamp(1.45rem,4vw,1.85rem);font-weight:690;letter-spacing:-.035em;line-height:1.15}
.access-card>p{margin:.75rem 0 1.5rem;color:#a3afab;font-size:.9rem;line-height:1.65}
label{display:block;margin-bottom:.45rem;color:#cbd3d0;font-size:.73rem;font-weight:620}
.access-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem}
input,button{min-height:2.85rem;border-radius:6px;font:inherit}
input{min-width:0;padding:.65rem .8rem;border:1px solid #3a4945;background:#101514;color:#f1f4f1;font-family:'Geist Mono',monospace;font-size:1rem;letter-spacing:.12em;outline:none;transition:border-color .18s ease,box-shadow .18s ease}
input:focus{border-color:#8fc4c5;box-shadow:0 0 0 3px rgba(143,196,197,.13)}
button{padding:.65rem 1rem;border:1px solid #8fc4c5;background:#8fc4c5;color:#10201e;font-size:.8rem;font-weight:700;cursor:pointer;transition:transform .18s ease,background .18s ease}
button:hover{background:#acd6d5}button:active{transform:translateY(1px)}button:disabled{cursor:wait;opacity:.65}
.access-status{min-height:1.3rem;margin:.6rem 0 0!important;color:#efb2ad!important;font-size:.76rem!important;line-height:1.45!important}
.access-note{display:block;margin-top:1.15rem;color:#71807c;font-size:.68rem;line-height:1.5}
@keyframes access-enter{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:520px){.access-card{padding:1.4rem}.access-field{grid-template-columns:1fr}button{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
