:root{color-scheme:dark;--gold:#d9ad54;--ink:#120d08;--paper:#e8d3a0;--line:#765222;--blue:#14303b}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;color:#f0dfb8;background:radial-gradient(circle at 50% 20%,#3d2a15 0,#171009 42%,#090705 100%);font:16px/1.45 Georgia,"Times New Roman",serif}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.2;background:repeating-linear-gradient(90deg,transparent 0 7px,#000 8px)}
.access-shell{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:48px 0 64px}
header{text-align:center;border:1px solid var(--line);border-width:1px 0;padding:24px;background:#130d08cc}
header span,.access-intro span,.recovery-card>span{color:var(--gold);font:700 .75rem Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}
h1{margin:.15em 0;font-size:clamp(2.1rem,6vw,4.6rem);line-height:1;color:#f2d681;text-shadow:0 2px 0 #000}
header p{margin:.6rem 0 0;color:#cab68a}
.access-intro{max-width:760px;margin:34px auto 22px;text-align:center}
.access-intro h2{margin:0;color:#f3d984;font-size:1.75rem}
.access-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.access-card,.recovery-card{position:relative;border:1px solid #8f6428;background:linear-gradient(145deg,#24170d,#130d08);padding:30px;box-shadow:0 18px 45px #0008,inset 0 0 0 4px #0a0705}
.access-card h2,.recovery-card h2{margin:0 0 22px;color:#f1d27c}
.card-number{position:absolute;right:24px;top:18px;color:#8d652f;font-size:2rem}
label{display:block;margin:16px 0 5px;color:#dfc68e;font-weight:700}
input{width:100%;padding:12px 13px;border:1px solid #90672f;background:#080605;color:#fff;font:inherit;outline:none}
input:focus{border-color:#efc869;box-shadow:0 0 0 2px #d9ad5433}
small{display:block;margin-top:8px;color:#a9936b}
button,a{display:inline-flex;align-items:center;justify-content:center;min-height:43px;border:1px solid #b98a3f;background:#6d4519;color:#fff2c9;padding:10px 15px;font:bold .9rem Arial,sans-serif;text-decoration:none;cursor:pointer}
form button{width:100%;margin-top:24px}
button:hover,a:hover{background:#8b5d22}
button:disabled{opacity:.5;cursor:wait}
.recovery-card{margin:24px auto 0;max-width:820px;border-color:#d3ad61}
.recovery-card output{display:block;margin:18px 0;padding:16px;border:1px dashed #6f512d;background:#080605;color:#f5dda0;font:700 1rem/1.5 Consolas,monospace;overflow-wrap:anywhere}
.recovery-card div{display:flex;gap:10px;flex-wrap:wrap}
.access-status{min-height:24px;text-align:center;margin:22px 0 0;color:#bca77b}
.access-status[data-kind=error]{color:#ff9988}.access-status[data-kind=success]{color:#8ed09c}
@media(max-width:760px){.access-shell{width:min(100% - 20px,640px);padding-top:14px}.access-columns{grid-template-columns:1fr}.access-card{padding:24px 20px}.recovery-card div>*{width:100%}}
