:root{--red:#9f3b31;--cream:#f6f0e5;--paper:#fffaf2;--ink:#292624;--muted:#81776c;--line:#e1d6c6}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% 10%,#e9dfd0,#d8cabb);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif}
.auth-shell{width:min(92vw,530px);margin:auto;padding:8vh 0 40px;text-align:center}.eyebrow{color:#786b5d;font-size:11px;letter-spacing:3px}h1{font-family:"Songti SC",SimSun,serif;font-weight:400;font-size:58px;letter-spacing:8px;margin:20px 0 4px}.intro{color:#776b60;letter-spacing:2px;margin:0 0 36px}
.auth-card{text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:0 18px 46px rgba(55,33,20,.12)}.card-top{border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:22px;display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}.card-top b{color:var(--red);font-weight:500;font-size:15px}
label{display:block;font-size:14px;margin:17px 0 7px}input{width:100%;border:1px solid #d6c8b9;background:#fff;border-radius:9px;padding:11px 12px;font:inherit;color:var(--ink)}input:focus{outline:2px solid #c4a37d;outline-offset:1px}button{width:100%;margin-top:26px;border:0;border-radius:9px;padding:13px;background:var(--red);color:white;font:inherit;cursor:pointer}button:hover{background:#7f2d27}small{display:block;color:var(--muted);line-height:1.55;margin-top:7px}.errors{color:#9f302b;font-size:13px;line-height:1.55;margin-top:6px}.errors ul{margin:0;padding-left:20px}.switch{text-align:center;color:var(--muted);font-size:14px;margin:23px 0 0}.switch a{color:var(--red);text-decoration:none}.footnote{color:#756b60;font-size:12px;margin-top:28px}
@media(max-width:540px){h1{font-size:45px}.auth-shell{padding-top:7vh}.auth-card{padding:23px}.card-top{display:block}.card-top b{display:block;margin-top:6px}}
