.access-page{min-width:320px;min-height:100dvh;background:radial-gradient(ellipse at 50% 33%,#55371942 0,transparent 39%),linear-gradient(145deg,#151109 0%,var(--bg) 48%,#0f0d09 100%);color:var(--text)}
.access-shell{min-height:100dvh;display:grid;grid-template-rows:68px 1fr 44px;padding:0 clamp(18px,4vw,60px)}
.access-topbar,.access-footer{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:18px}
.access-brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.access-brand .brand-mark{border-color:var(--amber);flex:none}.access-brand .brand-mark span{background:var(--amber)}.access-brand .brand-mark span:nth-child(2){background:var(--paper)}.access-brand strong{display:block;color:var(--paper);font-size:12px;letter-spacing:.16em;text-transform:uppercase}.access-brand small{display:block;margin-top:4px;color:var(--muted);font-size:9px;letter-spacing:.02em}
.access-tools{display:flex;align-items:center;gap:16px}.access-status,.access-footer{font-size:8px;letter-spacing:.14em;color:var(--muted)}.access-status{display:flex;align-items:center;gap:8px}.access-status i{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px #8bd0a01c}
.access-main{display:grid;place-items:center;position:relative;padding:36px 0}.access-card{width:min(100%,430px);padding:clamp(26px,5vw,46px);background:linear-gradient(150deg,#201a10f2,#15120df5 70%);border:1px solid #6a512f;border-radius:10px;box-shadow:0 32px 100px #0008,0 1px #ffffff0b inset;position:relative;overflow:hidden}.access-card:before{content:"";position:absolute;top:0;left:11%;right:11%;height:1px;background:linear-gradient(90deg,transparent,var(--amber),transparent);opacity:.8}.access-eyebrow{margin:0;color:var(--amber);font-size:8px;font-weight:700;letter-spacing:.19em}.access-eyebrow span{color:var(--faint);padding:0 5px}
.access-emblem{width:36px;height:36px;border:1px solid #a97832;border-radius:50%;display:flex;align-items:center;justify-content:center;gap:3px;position:relative;margin:30px 0 18px;transform:rotate(-18deg);box-shadow:0 0 28px #e9b75d13}.access-emblem span{width:3px;height:12px;border-radius:2px;background:var(--amber)}.access-emblem span:nth-child(2){height:19px;background:var(--paper)}.access-emblem span:nth-child(3){height:8px}.access-emblem b{position:absolute;inset:-5px;border:1px solid #e9b75d19;border-radius:50%}
.access-card h1{margin:0;color:var(--paper);font-family:Georgia,"Times New Roman",serif;font-size:clamp(40px,8vw,58px);line-height:.95;font-weight:400;letter-spacing:-.055em}.access-intro{max-width:34ch;margin:16px 0 30px;color:var(--muted);font-size:11px;line-height:1.7}
.access-form label{display:block;margin-bottom:8px;color:var(--amber);font-size:8px;font-weight:700;letter-spacing:.16em}.access-input-wrap{height:60px;display:flex;align-items:center;border:1px solid var(--line-strong);border-radius:5px;background:#0c0a07;transition:border-color .18s,box-shadow .18s}.access-input-wrap:focus-within{border-color:var(--amber);box-shadow:0 0 0 3px #e9b75d1a}.access-input-wrap input{width:100%;height:100%;min-width:0;padding:0 15px;border:0;outline:0;background:transparent;color:var(--paper);font-size:25px;letter-spacing:.42em;font-variant-numeric:tabular-nums}.access-input-wrap input::placeholder{color:#554b3b;letter-spacing:.42em}.access-input-wrap input[aria-invalid="true"]{color:var(--red)}.access-input-wrap>span{flex:none;padding:0 13px;color:var(--faint);font-size:7px;letter-spacing:.12em}.access-help{min-height:28px;margin:9px 0 0;color:var(--faint);font-size:8px;line-height:1.55}.access-error{min-height:16px;margin:7px 0 5px;color:var(--red);font-size:9px;line-height:1.45}.access-submit{width:100%;height:47px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;border:1px solid var(--amber);border-radius:4px;background:var(--amber);color:#211609;font-size:10px;font-weight:700;letter-spacing:.03em;transition:transform .16s,filter .16s,opacity .16s}.access-submit:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.access-submit:focus-visible{outline:2px solid var(--paper);outline-offset:3px}.access-submit:disabled{cursor:wait;opacity:.72}.access-submit.is-loading span:last-child{animation:access-pulse .8s ease-in-out infinite alternate}@keyframes access-pulse{to{transform:translate(3px,-3px);opacity:.45}}
.access-divider{display:flex;align-items:center;gap:10px;margin:23px 0 13px}.access-divider span{height:1px;flex:1;background:var(--line)}.access-divider i{font-style:normal;color:var(--faint);font-size:7px;letter-spacing:.16em}.access-footnote{margin:0;text-align:center;color:var(--faint);font-size:8px}.access-side-note{position:absolute;right:0;bottom:18px;left:0;display:flex;justify-content:space-between;color:#746047;font-size:7px;letter-spacing:.15em}.access-footer{border-top:1px solid var(--line);border-bottom:0}.access-footer i{color:var(--amber);font-style:normal;padding:0 4px}.access-footer span:last-child{color:var(--faint);letter-spacing:.03em;text-transform:none}
@media(max-width:520px){.access-shell{grid-template-rows:60px 1fr auto;padding:0 14px}.access-card{padding:28px 23px}.access-main{padding:24px 0 50px}.access-tools{gap:8px}.access-status{display:none}.access-brand small{max-width:155px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.access-side-note{bottom:15px;font-size:6px}.access-footer{min-height:42px;font-size:7px}.access-footer span:last-child{max-width:130px;text-align:right;line-height:1.5}}
html[data-mode="light"] .access-page{background:radial-gradient(ellipse at 50% 33%,#e9b75d18 0,transparent 39%),linear-gradient(145deg,#f7f2e7 0%,var(--bg) 48%,#e6e1d5 100%)}html[data-mode="light"] .access-card{background:linear-gradient(150deg,#fffdf7f5,#f5f1e7f7 70%);border-color:#c5a36e;box-shadow:0 28px 80px #32271120,0 1px #ffffff inset}html[data-mode="light"] .access-input-wrap{background:#fffdf7}html[data-mode="light"] .access-input-wrap input::placeholder{color:#b5aa96}html[data-mode="light"] .access-side-note{color:#86724f}
@media(prefers-reduced-motion:reduce){.access-input-wrap,.access-submit{transition:none}.access-submit.is-loading span:last-child{animation:none}}
