*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:#0f0f0f;margin:0}.f-loading{color:#555;justify-content:center;align-items:center;min-height:100vh;font-size:1rem;display:flex}.f-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:0;min-height:100vh;padding:4rem 2rem;display:flex}.f-title{letter-spacing:.12em;color:#fff;text-transform:uppercase;margin:0 0 .6rem;font-size:3.8rem;font-weight:800}.f-subtitle{color:#888;margin:0 0 2.5rem;font-size:1rem;font-weight:400}.f-divider{background:#333;width:40px;height:1px;margin:0 auto 2rem}.f-label{letter-spacing:.2em;text-transform:uppercase;color:#666;margin-bottom:.8rem;font-size:.7rem;font-weight:600}.f-identity{color:#fff;max-width:520px;margin:0 0 2.5rem;font-size:1.6rem;font-weight:400;line-height:1.5}.f-streak-number{color:#fff;margin-bottom:.2rem;font-size:4.5rem;font-weight:700;line-height:1}.f-streak-label{color:#666;text-transform:lowercase;margin-bottom:.6rem;font-size:.85rem}.f-last-checkin{color:#555;margin-bottom:2.5rem;font-size:.8rem}.f-button{color:#fff;cursor:pointer;letter-spacing:.02em;background:0 0;border:1px solid #444;border-radius:0;margin-bottom:2rem;padding:1rem 2.8rem;font-size:1.05rem;font-weight:500;transition:background .2s,border-color .2s}.f-button:hover:not(:disabled){color:#000;background:#fff;border-color:#fff}.f-button:disabled{opacity:.4;cursor:not-allowed}.f-footer{align-items:center;gap:.8rem;display:flex}.f-link{color:#555;cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem;transition:color .2s}.f-link:hover{color:#fff}.f-dot{color:#333;font-size:.8rem}@media (width<=480px){.f-center{padding:3rem 1.5rem}.f-title{font-size:2.8rem}.f-identity{font-size:1.3rem}.f-streak-number{font-size:3.5rem}.f-button{padding:.9rem 2rem;font-size:.95rem}}.page-shell{color:#fff;background:#000;min-height:100vh;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.auth-page{flex-direction:column;justify-content:center;align-items:center;gap:2.5rem;min-height:100vh;padding:4rem 1.5rem;display:flex}.auth-hero{text-align:center;flex-direction:column;gap:.7rem;display:flex}.auth-hero-title{letter-spacing:.12em;text-transform:uppercase;color:#fff;margin:0;font-size:3.5rem;font-weight:800}.auth-hero-subtitle{color:#888;margin:0;font-size:1rem;font-weight:400}.auth-card{width:100%;max-width:380px;box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}.auth-title{color:#fff;letter-spacing:.04em;text-transform:uppercase;margin-bottom:1.2rem;font-size:1.1rem;font-weight:600}.auth-form{gap:.75rem;display:grid}.auth-input{color:#fff;background:#111;border:1px solid #333;border-radius:0;width:100%;padding:.8rem .9rem;font-size:.95rem;transition:border-color .2s}.auth-input:focus{border-color:#888;outline:none}.auth-input::placeholder{color:#555}.auth-button{color:#000;cursor:pointer;letter-spacing:.02em;background:#fff;border:1px solid #444;border-radius:0;width:100%;margin-top:.5rem;padding:.85rem;font-size:.95rem;font-weight:600;transition:background .2s,color .2s}.auth-button:hover:not(:disabled){color:#fff;background:#000;border-color:#fff}.auth-button:disabled{opacity:.4;cursor:not-allowed}.auth-switch,.auth-info{color:#666;margin-top:1rem;font-size:.85rem}.auth-switch a{color:#fff;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.auth-error{color:#ff6b6b;font-size:.85rem}@media (width<=480px){.auth-hero-title{font-size:2.6rem}.auth-page{gap:2rem;padding:3rem 1.25rem}}
