*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:#faf9f6;color:#171717}.topbar{height:72px;background:#fff;border-bottom:1px solid #e8e4dc;display:flex;align-items:center;justify-content:space-between;padding:0 5%;position:sticky;top:0}.brand{font-family:Georgia,serif;letter-spacing:.12em;font-size:18px}.brand span{font-family:inherit;font-size:.7em;letter-spacing:.22em}.topbar nav{display:flex;gap:22px}.topbar a{color:#333;text-decoration:none}.container{max-width:1100px;margin:0 auto;padding:44px 22px}.hero{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:700}.hero h1,h1{font-family:Georgia,serif;font-size:44px;margin:8px 0}.muted{color:#777}.grid{display:grid;gap:16px}.rank-card{display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:18px}.card{background:#fff;border:1px solid #e6e1d8;border-radius:18px;padding:22px;box-shadow:0 5px 20px rgba(0,0,0,.035)}.rank{font-family:Georgia,serif;font-size:30px}.card h2{margin:0;font-family:Georgia,serif}.stats{display:flex;gap:30px}.stats strong{display:block;font-size:25px}.stats small{color:#777}.notice{margin-top:24px;padding:18px;border-radius:14px;background:#f1eee7;color:#555}.login-page{min-height:100vh;display:grid;place-items:center;background:#f6f3ed}.login-card{width:min(420px,92vw);background:#fff;padding:40px;border-radius:24px;border:1px solid #e5e0d7;box-shadow:0 20px 60px rgba(0,0,0,.08)}label{display:block;font-size:14px;margin:15px 0;color:#555}input{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid #d8d2c8;border-radius:10px;background:#fff;font:inherit}.button{display:inline-block;text-decoration:none;border:0;border-radius:10px;padding:12px 18px;background:#1b1b1b;color:#fff;font-weight:700;cursor:pointer}.login-card button{width:100%;margin-top:10px}.alert{padding:12px;border-radius:10px;background:#f5dddd;color:#8a2222}@media(max-width:700px){.hero{align-items:stretch;flex-direction:column}.rank-card{grid-template-columns:48px 1fr}.stats{grid-column:1/-1;justify-content:space-between;gap:10px}.topbar{padding:0 18px}.topbar nav{gap:10px;font-size:13px}.hero h1,h1{font-size:36px}}
