:root { color-scheme: light; --ink:#171915; --paper:#f4f1ea; --accent:#d95536; --muted:#6f736a; }
* { box-sizing:border-box; }
body { margin:0; min-height:100svh; display:grid; place-items:center; color:var(--ink); background:radial-gradient(circle at 70% 20%,#dce8ae 0,transparent 34%),var(--paper); font-family:"PingFang SC","Microsoft YaHei",sans-serif; }
.access-shell { width:min(100%,520px); padding:24px; }
.access-card { padding:clamp(32px,8vw,58px); background:rgba(255,253,248,.9); border:1px solid rgba(23,25,21,.14); box-shadow:0 26px 70px rgba(37,42,31,.12); }
.brand-mark { width:46px; height:46px; display:grid; place-items:center; border-radius:50%; color:var(--paper); background:var(--ink); font-family:"Songti SC",serif; font-size:21px; }
.eyebrow { margin:24px 0 12px; font-size:10px; letter-spacing:.18em; color:var(--accent); }
h1 { margin:0; font-family:"Songti SC",serif; font-size:clamp(34px,8vw,48px); font-weight:500; }
.intro { margin:20px 0 30px; color:var(--muted); line-height:1.8; font-size:14px; }
label { display:block; margin-bottom:8px; font-size:12px; font-weight:600; }
input { width:100%; height:50px; padding:0 14px; border:1px solid rgba(23,25,21,.24); background:white; font:inherit; outline:none; }
input:focus { border-color:var(--accent); box-shadow:0 0 0 3px rgba(217,85,54,.1); }
button { width:100%; height:52px; margin-top:14px; padding:0 18px; display:flex; justify-content:space-between; align-items:center; border:0; color:white; background:var(--ink); font:inherit; font-weight:600; cursor:pointer; }
button:hover { background:var(--accent); } button:disabled { opacity:.55; cursor:wait; }
.message { min-height:22px; margin:15px 0 0; color:var(--accent); font-size:13px; }
.expiry,.privacy { color:var(--muted); font-size:11px; line-height:1.6; }.privacy { margin-top:24px; padding-top:18px; border-top:1px solid rgba(23,25,21,.1); }
