*{box-sizing:border-box}
body{margin:0;font-family:"Hiragino Maru Gothic ProN","BIZ UDPGothic","Meiryo",sans-serif;color:#3a2a22;background:linear-gradient(#9ad0e8,#e8f2dc 55%,#f6ecd6);min-height:100vh}
.top main{max-width:720px;margin:0 auto;padding:16px 16px 40px;text-align:center}
#hero{width:100%;height:auto;display:block;border-radius:18px;background:#cfe8d8}
h1{font-size:34px;margin:16px 0 4px;letter-spacing:.08em}h1 small{font-size:16px;color:#7a6a5a}
.lead{font-size:16px;line-height:1.8;margin:6px 0 18px}
.btn{display:inline-block;padding:13px 54px;border-radius:999px;background:linear-gradient(#ffe9a8,#f0b85a);color:#3a2414;font-weight:bold;font-size:18px;text-decoration:none;box-shadow:0 3px 0 #b8803a}
.login{font-size:13px;color:#7a6a5a;margin:10px 0 24px}
.pts{display:grid;gap:10px;text-align:left}
.pts div{background:rgba(255,255,255,.8);border:1px solid #e2cfae;border-radius:14px;padding:10px 14px}
.pts b{font-size:16px}.pts p{margin:4px 0 0;font-size:14px;line-height:1.7}
body.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 40%,#5a3a2a,#2a1a14 70%);color:#fff8ec}
.auth .box{background:rgba(58,42,34,.95);border:1px solid rgba(255,200,120,.4);border-radius:20px;padding:26px 24px;text-align:center;max-width:320px;margin:16px}
.auth h1{font-size:18px;margin:8px 0 6px;color:#ffd890;letter-spacing:0}.auth p{font-size:14px;line-height:1.7;margin:0 0 14px;color:#e8d8c8}
.auth .btn{font-size:14px;padding:10px 22px}
.spark{width:14px;height:14px;border-radius:50%;background:#ffd860;box-shadow:0 0 22px 8px rgba(255,180,60,.7);margin:6px auto 16px;animation:sp 1.2s infinite}
@keyframes sp{50%{box-shadow:0 0 34px 14px rgba(255,140,40,.9)}}
